Task.Run vs Task.Factory.StartNew vs ThreadPool.QueueUserWorkItem
Три способа отправить работу в пул потоков в C# и какой выбрать. Используйте Task.Run почти всегда, ThreadPool.QueueUserWorkItem<TState> для fire-and-forget без аллокаций, а Task.Factory.StartNew только для LongRunning или собственного планировщика.