Broker Client API batch reading not working

We have some code like this:

events = brokerClient.getEvents(configurableBatchsize, -1);

We found that the batchSize parameter is not working properly, it will depends on the document size in the broker queue, and the batchsize allowed to tune is only below Maximum_batch_Allowed, following are some obsevations.

Msg_Size Maximum_batch_Allowed Total_Size
11336 6 68016
109648 1 109648
13452 5 67260

Can somebody help on this? thanks in advance for your kindness.