Преимущество проектирования при использовании задач состоит в том, что вы передаете всю мелочность потоков во время выполнения, что, вероятно, могло бы выполнить задачи потоков, используя менее ошибочное, более оптимальное решение. Я знаю, что некоторые основанные на задачах парадигмы, такие как PLINQ, позволяют вам подсказывать, какую стратегию должна применять среда выполнения, чтобы вопрос «в Threadpool или не в Threadpool» мог быть решен напрямую.
Переключение на эту модель аналогично переключению на управляемый GC-ed язык по сравнению с языком, который требует от вас очистки собственной памяти. Всегда будут аргументы в пользу последнего, но Сборка мусора становится настолько оптимизированной, что это практически не проблема. В идеале механизм переключения во время выполнения задач будет развиваться и улучшаться. Таким образом, теоретически ваше приложение, написанное и скомпилированное для .NET 4, могло бы работать быстрее с лучшими реализациями среды выполнения без дальнейшей перекомпиляции. Кроме того, многопоточность кода, как известно, трудно понять правильно, поэтому любой механизм, скрывающий эти детали, полезен для программиста.
Если эти преимущества перевешивают потенциальные убытки, такие как крайние случаи, с которыми среда выполнения плохо справляется, это то, что следует рассматривать в каждом конкретном случае. Я бы, конечно, постарался не оптимизировать здесь рано.