Because there are cases where you want to throw away the contents of the reslver and start over while the app runs, for example when a user logs out. In those cases complicated DI container can require some cleanup which is usually done with an IDisposable.