Я не понял, что ваш код проверяет. То, что примерно раз в секунду будет выводится «in after 1000 {...}» ежу ясно. Я спрашивал о другом (в частности, стоит ли волноваться за стек).
По сути это выглядит где-то так:
есть некоторый пул объектов за которыми следит событийный цикл
after добавляет новый объект (в данном случае вызов update) в этот пул и на этом функция update завершается
когда наступает время вызова update всё повторяется
Сам событийный цикл
while (1) {
redy_objects = get_ready_objects();
for (obj in ready_objects) {
obj.callback();
}
}