fixed bug: processing more than 1m messages at once caused a EM to hit its max timer limit bc it does not clean up its timers as fast as we can cancel them; this reduces the number of timers created by several orders of magnitude; also increased performance by freeing up some CPU