Most likely something is making your BuildContainer()
take too long and the service manager is saying, "eh, you too slow". There's no time limits when running the app as a console. I'm not sure if the time limits changed between Windows versions to say why it's only errorring on Win8/2012. It's also possible something on those machines make BuildContainer()
take longer than on older systems.
Assuming that I'm correct, how do you fix it? It's hard to say without understanding what you're doing in your container. This looks almost exactly like what my Topshelf services look like, so you're on the right track at least. Maybe there's something you can defer doing in your container until later?