Enlace de singleton a múltiples servicios en Ninject

Tengo un problema que parece muy similar al descrito enhttp://markmail.org/message/6rlrzkgyx3pspmnf que trata sobre el singleton que en realidad crea más de una instancia si está accediendo a él utilizando diferentes tipos de servicios.

Estoy usando la última versión de Ninject 2 para Compact Framework y el problema exacto que estoy teniendo es que si enlazo el mismo método de proveedor para:

Func<Service> serviceCreator = () => new Service(false);
kernel.Bind<IService>().ToMethod(serviceCreator).InSingletonScope();
kernel.Bind<Service>().ToMethod(serviceCreator).InSingletonScope();

Parece estar creando 2 instancias de servicio si resuelvo ambos como IService y Service.

Esto provoca una excepción de dependencia circular al resolver el Servicio.

¿Es esto por diseño, o es un error?

Respuestas a la pregunta(3)

Su respuesta a la pregunta