Краткий ответ: нет, потому что var2 по-прежнему ссылается на экземпляр. Пока у вас есть хотя бы одна ссылка на объект, объект не будет собран.
Более длинный ответ: на самом деле, вероятно, так и будет в этом примере, потому что вы ничего не делаете с var2. GC учитывает переменную жизнеспособность. Если вы никогда больше не используете var2 в коде, var2 считается неработоспособным после этой последней строки кода. И поэтому считается, что такая ссылка не имеет смысла для целей сборки мусора - как будто var2 больше не существует. Таким образом, на самом деле объект будет иметь право на коллекцию:
Дополнительные тонкости: это также будет зависеть от того, работаете ли вы в режиме отладки или выпуска. При отладке .NET искусственно продлевает жизнеспособность переменных, расширяя их до конца их лексической области действия, так что у вас есть возможность проверять локальные переменные. Кроме того, конечно, объекты будут собираться только тогда, когда GC действительно работает.
Строго говоря, на самом деле невозможно дать универсально правильный ответ.