process.nextTick to setImmediate, prevent overflow