the behaviour you reported is perfectly normal (and common to all IoC containers I'm aware of): registering a compontent as a singleton only ensures that will only be created (at most) a single instance, shared between all components requiring it.
The instance, however, will not be created until another component asks for it. Hence the Rob's suggestion to request your component immediatly to have the component instantiated in a determinate moment (perhaps in the Configure override).
The code should look like:
protected override void Configure()
container = new SimpleContainer();
container.RegisterSingleton(typeof(IMyService), null, typeof(MyConcreteServiceImplementation));
//instance is created here
IMyService instance = (IMyService)container.GetInstance(typeof(IMyService), null);
If you are still having issues with something similar to this, then there should be something wrong elsewhere. In that case, please describe the exact problem with some more details.