The ServiceExecutorSynchronous uses a deque for its queue of tasks. This means that every 4k bytes-worth of insertions we'll need to allocate another 4k bytes. This is unnecessary since that queue should usually be very small (and maybe max size of 1?) so we'd be better off with a circular buffer or possibly some other data structure. I'd be interested to see whether changing that helped with performance and if so making the change.