You should not use spawn, delay and sometimes wait.
Using tick shouldn’t be intensive at all it just returns a float and with modern day machinery it’s more than enough to process what you are attempting.
Using a tick Debounce is arguable more accurate and better practice in certain cases which you do not want to have unnecessary yielding and create absurd amounts of new threads.
(It’s also less punishable when mistakes are made)