Если я использую нить, как это:
void foo() { new Thread().Start(); }
поскольку объект Thread не указан, будет ли он удален GC до выполнения назначенной работы?
От MSDN
Нет необходимости сохранять ссылка на объект Thread, как только вы начал тему Нить продолжает выполняться, пока поток процедура завершена.
Класс System.Threading.Thread действительно предназначен только для бухгалтерии / управления. Это не фактический механизм, который создает / поддерживает потоки. Это управляется средой выполнения и зависит от реализации CLI (например, реализация Mono может существенно отличаться в управлении потоками.)
Поток должен оставаться в живых, пока не вернутся его методы.
Извлечение: Что мешает собиранию потока в C #?