What if the client resend doesn't happen till N seconds/minutes after the last batched has finished; With threadpools there is a backlog but you fill that potential resource gap.
What if your app gets a massive influx of events, do you have a queuing system there to deal with that?
Basically they exist to provide a balance.