The main reason you get small packets even when you requested big packets is that the keyspace is VERY fragmented compared to when it started. After all, we've been through the keyspace once already and are now on our way BACK through it, picking up all the keys that were never returned the first time through.
The fragmentation leaves a lot of little 2, 3, 8, etc, size blocks all over the place. Sometimes you get great big 32 blocks, sometimes you get a 1 block. It is a necessary procedure to "fill in the gaps" in the keyspace...
JHutch