I guess no, since sleep (is setTimeout under the hood) schedules lo(op) call and previous execution of lo(op) ends there. Which means there is nothing related with lo(op) function's execution within this 5ms duration.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Isn't this a recursive call that will call itself until all memory is consumed?