Не обязательно.CLR (которая является средой выполнения, в которой выполняется код C # и VB.net) является системой сбора мусора.Периодически среда выполнения будет проверять объекты в памяти, определять, какие из них недоступны из «корневого набора» (например, включая локальные переменные в стеке), и освобождать их.
В вашем примере, если нет других переменных или полей, содержащих ссылку на ваш список (которые также доступны из корневого набора), то исходный список будет освобожден.Кроме того, , если Список освобожден, и , если нет оставшихся экземпляров для каждого из элементов списка, то эти элементы также будут освобождены.Однако ссылка на один элемент списка не помешает освобождению самого списка или любого другого элемента списка.