Поток - это один пример объекта, время жизни которого , а не , контролируемого сборщиком мусора. Под капотом это объект операционной системы. Это живо, пока поток выполняет код. Класс Thread - это просто оболочка для него. Другой пример - окно, оно живо, пока ваш код или пользователь не закрывают его. Winforms не требует, чтобы вы содержали ссылку на оболочку класса Form. И вы, как правило, не:
Application.Run(new Form1());
- это код котельной плиты, вы нигде не держите ссылку на экземпляр класса Form1.
Вы всегда можете заново создать объект Thread из существующего запущенного потока. Вы делаете это с Thread.CurrentThread. И это не обязательно должен быть поток, созданный вами с помощью конструктора Thread. Может использоваться внутри потока пула. Или поток, который не был запущен управляемым кодом. Хороший пример тому - основной поток вашей программы, он был запущен Windows.
Тем не менее, потеря ссылки на поток не является хорошей практикой. Это означает, что вы не можете проверить, что он все еще работает. Что подразумевает, что вы не можете остановить это, когда это должно быть остановлено. Например, когда пользователь хочет выйти из вашей программы.