Floating text can leak but the leak is finite. Specifically once 100 floating text exist on the map the last created one will be constantly recycled for any new floating text creations. Hence the leak is finite and limited to 100 floating text. The problem is that at that stage it might interfere with the player's user experience as not all text they need to see may be visible.
With floating text that has a finite life you can always give it an automatic expiry time. This means it cannot leak as it gets automatically destroyed after a certain amount of time.
If using local keyword declared local handle variables do remember to make sure they have a null value by the time a function returns or the handle index will not ever be able to be recycled which could cause a different sort of leak and possibly mess up floating text since floating text only has a 100 handle block if I recall.