Many programmers mistakenly believe they can remove all the items from a collection by setting the collection itself to Nothing:
Dim children as New Collection...Set children = Nothing
This technique only works if you don’t have another object variable pointing to the same collection. In this case, setting the children variable to Nothing doesn’t destroy the collection; instead, it decreases its internal reference counter. The only way to remove all the items of the collection is with a loop of Remove methods:
Do While children.Count children.Remove 1Loop