i=0
tst=function(){i++; try{tst()}catch(e){console.log(i)}}
tst()
i=0
tst=function(){if(i===30000) return console.log(i); i++; setTimeout(function(){tst()})}
tst()
/*
результат для ноды:
11434
30000
*/
скорей всего для асинхронных вызовов нет ограничений. Но они медленней.
UPD хотя на хроме этот код не отрабатывает почему-то, вывода в консоль нет. В ФФ -- ок