Chain the setTimeouts of heavytask() rather than dump them all on the UI queue (lots of timers apparently over-encourages garbage collection