My Guess is that the time is spent on creating large object events queues that then get processed all at once. In the second approach the queues are smaller and the object could be reused without being created again. just guessing though