So took some time to look at this script. It seems the script will get stuck in an infinite loop between lines 54 - 58. With the canCon string being "0123456789ABCDEF", none of those ASCII characters yield a byte value of 44 (','), 59 (';') or 64 ('@'). Hence the counter will keep counting up, and i will go beyond the length of the string. When this happens, string.byte will return no value, and thus we stay in this loop forever. With that print statement there, you are blowing out the RCP log buffer, sending an endless stream or "\r\n" characters back to our app, which slows down trying to process them.
Right now there is a patch in progress to allow users to flash the script if it gets stuck like this. See
https://github.com/autosportlabs/RaceCapture-Pro_firmware/pull/504 for more info. I intend to get it into 2.9.0 and resolve this issue.