Теоретически, поскольку SqlCommand реализует IDisposable, объект SqlCommand должен всегда располагаться. Я лично обертываю заявление об их использовании. Однако я вижу много кода, который никогда не избавляется от объектов SqlCommand без каких-либо явных проблем.
Я понимаю, что финализаторы в конечном итоге будут вызываться сборщиком мусора, но поскольку в большинстве случаев это может занять довольно много времени (и никогда в других), почему код не падает из-за нехватки какого-либо ресурса?
В нашей собственной кодовой базе у нас есть код, который работает 24x7 без использования команд. Я бы хотел его почистить, но трудно оправдать, когда это не вызывает никаких проблем.