When the queue consumer gets to the end of the queue, it finishes its run and doesn't do anything until the next scheduled run. We could be a little more efficient with our time if it just slept and waited for new messages like the pending queue consumer does.
Note that this will mess with the donations per second statistics if we deploy it before refactoring that stats collector (see T323273)