That's correct.. if this is to implement a delay prior to a retry of an operation, then try to handle that outside of the GEL script.
There are a maximum of 15 gel scripts that can execute concurrently (per process engine enabled service) and even without using util:sleep (or Thread.sleep()), congestion caused by processing delays rapidly become noticeable and even an issue; it's possible for example that all 15 threads end up sleeping at once and then all other throughput is stalled.
I would likely caution against anything more than a few seconds of sleep at most - enough to not initiate a self-inflicted denial of service perhaps - and anything using minutes should be restricted to the testing of odd edge-cases on a non-production environment only.