Task.Run vs Task.Factory.StartNew vs ThreadPool.QueueUserWorkItem
Três formas de enviar trabalho para o thread pool em C# e qual escolher. Use Task.Run para quase tudo, ThreadPool.QueueUserWorkItem<TState> para fire-and-forget sem alocação, e Task.Factory.StartNew apenas para LongRunning ou um agendador personalizado.