Currently, when using an ObservableCollection to store items which implement IDisposable, it is impossible to observe the collection to ensure item disposal. If the 'Clear' method is called, there is no way for an observer to get a reference to the items previously in the list in order to dispose them. Ideally, when clear is called, the list of old items should be available.