Кстати, вроде в nextTick вообще нет ограничений на вложенность коллбеков и можно зафризить ивент луп дико
на вложенные вызовы лимит глубины — 1000 за тик, остальные будут перенесены на следующий тик. вот о такой вложенности идет речь: process.nextTick(() => process.nextTick(…))
но вроде нет лимита на то, сколько будет исполнено в текущий тик таких вызовов, что установлены на одном уровне вложенности: Array(2000).map(() => process.nextTick(…))