Implemented consumer/producer pattern with BlockingCollection