Здравствуйте, RushDevion, Вы писали:
RD>Ну либо я не вполне уловил детали твоей реализации
Одним потоком через new Thread живущий на протяжении работы приложения бегаем по базе/очереди и получаем данные для дальнейшей обработки.
Далее через Task.Factory.StartNew запускаем таски для выполнения полезных действий.
Лимитируем все это семафором