Hi @Scatter
At a glance i see no issues, i dont see any accidental loops back into your code , looks clean enough.
So the only thing i can think of is you are calling this somewhere too many times? Have a look you havent got this repeating somehwere by accident
Ie on tick lol. But its easily done , you might be calling too many instances of this function.
Other than that i cant see anything obvious