Weird, I would have guessed that it auto commits the previous batch when it polls for the next batch, meaning it would be like
loop:
messages = poll() # poll returns new messages and commits previous batch
process(messages)
but it sounds like it "poll returns new messages and immediately commits them."