Just to clear things up, for me (at least) the getPosition()/setPosition() calls on my sprites generates a lot of 32byte objects. These are not leaked by lua. They’re just generated so fast/often per-frame the default Lua GC settings don’t ever get a chance to catch up!
For me, adding the lines :
collectgarbage( "setpause", 100)
collectgarbage( "setstepmul", 5000)
Before the game-loop. Keeps the memory in-check with no apparent frame drop-offs, so no leaks