Por que meu TakeLimit não é honrado pelo TableQuery?

Eu gostaria de buscar o topon linhas da minha tabela do Azure com um simples TableQuery. Mas com o código abaixo, todas as linhas são buscadas independentemente do meu limite com o Take.

O que estou fazendo de errado?

int entryLimit = 5;

var table = GetFromHelperFunc();

TableQuery<MyEntity> query = new TableQuery<MyEntity>()
    .Where(TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, "MyPK"))
    .Take(entryLimit);

List<FeedEntry> entryList = new List<FeedEntry>();
TableQuerySegment<FeedEntry> currentSegment = null;

while (currentSegment == null || currentSegment.ContinuationToken != null)
{
    currentSegment = table.ExecuteQuerySegmented(query, this.EntryResolver, currentSegment != null ? currentSegment.ContinuationToken : null);
    entryList.AddRange(currentSegment.Results);
}


Trace.WriteLine(entryList.Count) // <-- Why does this exceed my limit?

questionAnswers(2)

yourAnswerToTheQuestion