Фоновый поток в C#
Фоновый поток не удерживает процесс. Поток переднего плана по умолчанию не даёт приложению завершиться. Когда таких потоков не осталось, процесс закрывается, даже если фоновые ещё работают.
Поток помечают фоновым и на короткое время усыпляют. Свойство после этого равно true. Без ожидания процесс может закрыться раньше делегата, и для фонового потока это нормально:
Thread bg = new(() => Thread.Sleep(50)) { IsBackground = true };
bg.Start();
Console.WriteLine(bg.IsBackground); // выведет True
Создайте фоновый поток с бесконечным циклом Sleep и выведите IsBackground.