Recently however, I became aware of the memory leak inherent in their
design. Every ICollectionView implementation I know of subscribes to the
OnCollectionChanged event of the source collection with no way to force the
ICollectionView to unsubscribe. In my current ViewModels, this is not a
problem as my PagedCollectionViews live as long as their source collections
anyway so this hasn't been a problem. However, in an application where the
source collections have a longer lifetime than the ViewModels that create
the CollectionViews I could forsee this becoming a massive memory leak
problem.
I am wondering what the correct solution would be. Should CollectionViews
all implement IDisposable as well?