Что касается необходимости распоряжаться, я бы сказал, нет. Когда CLR обнаруживает, что нет ссылок на объект, объект будет запланирован для сборки мусора. Проблема, с которой вы можете столкнуться, состоит в том, что нет никаких гарантий, что объект и его атрибуты будут очищены в правильном порядке. Простые объекты / классы, будь то часть .NET Framework или пользовательские объекты / классы, редко реализуют интерфейс iDisposable. Если объект / класс реализует iDisposable, вам определенно следует вызвать метод dispose, чтобы обеспечить правильную обработку очистки, поскольку у разработчика было некоторое указание на то, что необходимо выполнить очистку определенным образом. Как заявил Stecya, оборачивание в блок using - отличный способ убедиться, что это делается автоматически. Вы также можете использовать блок try / finally, чтобы добиться того же (избавиться от объекта в блоке finally).