VM
Blocking collection по дефолту под капотом держит ту же ConcurrentQueue. Оверхед, который у тебя получается, наверняка от необходимых для юзкейса блокировок по пустой/полной коллекции.
Если хочешь потестить свой буфер, то реализуй на нем IProducerConsumerCollection<T> и передай в BlockingCollection его вместо ConcurrentQueue.