Закрыть программу при работающих потоках

ТАк у меня тут обычные потоки и есть

List<Thread> tasks = new List<Thread>();

Упс :flushed:Пардоньте, куда-то не туда опять посмотрел.
Наверное, сюда:

Да какая разница таск или поток … таски из пула быстрее загружаются и пускаются в ход.
Можете конечно сделать и потоком.

Перечитал ваш код более внимательно. И гифку скачал. Полтора года прошло, офигеть :dizzy_face:

Я правильно понял, что вы просто не даёте форме закрыться, если хотя бы один поток работает? Задумка была в этом?
А, всё. Перечитал ещё раз всю тему. Теперь вроде точно дошло :man_facepalming: Вот эта строчка this.BeginInvoke(new MethodInvoker(() => this.Close())); закрывает главную форму после того как все потоки завершились.

Раньше в mono было хорошо, можно было потоки убивать насмерть. А теперь в core - только мягко останавливать.
«In newer versions of .NET, such as .NET Core and .NET 5+, there are recommended alternatives to Thread.Abort()
Опять они всё сломали.