.NET garbage collection works similar to Javas. When there is no reference to a location in memory (in other words, nothing pointing to an object), it will free that memory up for later use.. but it will only do this when memory is actually needed for the application.
So.. basically you don't have to worry about destroying objects as you did in VB6. .NET will handle it, and far more efficiently then you could do yourself through trying to program a garbage collection.