How are you creating the BindingList in the first place? Is there maybe an array or the like that also has a reference to the items? It sounds like those items are referenced somewhere other than the BindingList, otherwise I would expect them to be cleaned up on the first collection.