I'm using `Microsoft.Extensions.DependencyInjection` (default implementation). I noticed that when I'm adding my object as singleton then `ServiceProvider` ignores `IDisposable` on my object.

```
var instance = new MyDisposableObj();
ServiceLocator.Instance = instance;

var services = new ServiceCollection();
services.AddSingleton( instance );
var container = services.BuildServiceProvider();
container.Dispose();

```

Looks like microsoft think that I have to manually dispose objects which are created manually. 

But in the case when I do the extension for ServiceCollection I want to encapsulate disposing of my object. I shouldn't force the users of my extension to dispose my object manually!

So, is it possible to change this behavior?