CancellationToken Cancelar não sair do BlockingCollection

Tenho um token de cancelamento assim

   static CancellationTokenSource TokenSource= new CancellationTokenSource();

Tenho uma coleção de bloqueio como essa

BlockingCollection<object> items= new BlockingCollection<object>();

var item = items.Take(TokenSource.Token);

if(TokenSource.CancelPending)
   return;

Quando eu ligo

TokenSource.Cancel();

O Take não continua como deveria. Se eu usar o TryTake com uma enquete, o Token mostra que está sendo definido como Cancelad

questionAnswers(1)

yourAnswerToTheQuestion