¿Cómo setTimeout previene el potencial de stackoverflow?

Un ejemplo :

var list = readHugeList();

var nextListItem = function() {
    var item = list.pop();

    if (item) {
        setTimeout( nextListItem, 0);
        // ^^^^^^^^ this line
    }
};

¿Cómo el uso de setTimeout evita el posible desbordamiento de pila aquí? Entiendo el concepto de la cola de eventos y la pila, pero tengo dificultades para conectar los dos.

Respuestas a la pregunta(2)

Su respuesta a la pregunta