> Гораздо лучше собрать все таски — и вызвать Task.WhenAll для всех сразу. ThreadPool сам поймет, как лучше оптимизировать их работу.
... И повесит систему нафиг, если там тысячи тасок, которые ходят, например, по COM в один ресурс (или насоздают сотни ресурсов, что ещё хуже)
это уже edge case, для веб-приложений лучше как я писал
я сам веб-разработчик, но спасибо за замечание, думаю надо еще мозги иметь чтобы понимать что доступ к ресурсу конкурентный, но там уже перфоманс этот не так важен будет