Это должно быть что-то очень естественное, интересно, есть ли готовая реализация Prioritized BufferBlock из библиотеки TPL DataFlow?
Кажется, лучший способ достичь этого - использовать специализированный планировщик задач вместо реализации собственного BufferBlock. Есть много их разнообразия, которые можно найти в сети. Например, отметьте QueuedTaskScheduler в ParallelExtensions Library
QueuedTaskScheduler