I was just commenting on the need for both QueueEmpty and the ProcessingSize==1 tests.  I presume it's because you can get here with QueueEmpty returning true but ProcessingSize being greater than 1, due to parallel encoding?