TPL динамически масштабирует степень параллелизма, чтобы наиболее эффективно использовать все доступные процессоры. Если это проблема, TPL может не подойти вам.
Ближайшая вещь, о которой я знаю, это ParallelEnumerable.WithDegreesOfParallelism , которая задает максимальное количество одновременно выполняемых задач, которые будут использоваться для обработки запроса.
Это не похоже на ваш счет, однако, возможно, вам нужен детальный контроль, и в этом случае я бы рекомендовал использовать потоки напрямую.