Вы нет. Это то, что делает сборщик мусора автоматически - в основном, когда среде выполнения .NET требуется память, он обходит и удаляет объекты, которые больше не используются.
То, что вам нужно сделать, чтобы это работало, это удалить все линки с объекта.
В вашем случае ....
obj1 = NULL;
в конце, тогда на объект больше не ссылаются, и его можно запросить у сборщика мусора.
Вы можете проверить http://en.wikipedia.org/wiki/Garbage_collection_(computer_science) для более подробной информации.
Обратите внимание, что если объект имеет ссылки на неуправляемые ресурсы (например, открытые файлы и т. Д.), Он должен реализовать шаблон Disposable (интерфейс IDisposable), и вы должны явно освобождать эти ссылки, когда вам больше не нужен объект.