Starting from the follwing situation:
public interface ISample { } public class SampleA : ISample { // has some (unmanaged) resources that needs to be di
Personally, if all ISample's should be disposable I'd put it on the interface, if only some are I'd only put it on the classes where it should be.
ISample
Sounds like you have the latter case.