, Dr Herbie wrote

We've never had an instance of a developer removing a class from IoC without checking first that the interface is not used anywhere else -- that would be poor developer practice in my book, regardless of IoC technique.

Agreed.  To justify in my case, we are building an extensible application that uses IoC to control the extensibility (a la MEF).  The teams may not work together, work in the same company, or even be working with the same version of the main component.  It's even possible that extensions build a dependency upon each other.