setTimeout é acionado imediatamente se o atraso for maior que 2147483648 milissegundos
O problema
Se odelay
é mais de 2147483648 milissegundos (24,8551 dias) a função será acionada imediatamente.
setTimeout(function(){ console.log('hey') }, 2147483648) // this fires early
setTimeout(function(){ console.log('hey') }, 2147483647) // this works properly
Eu tentei no Chrome v26 e no Node.js v8.21