For a delay of 5 seconds a wait(-5) would totally suffice.
To your third question: In terms of memory efficiency your last solution consumes less memory. But! Don't waste your time with this stuff. Reduce one texture from 128x128 to 64x64 and you have won a hundred times the memory you do with optimizing your structs. Choose the more elegant solution for your code. You'll drive better with this on the long run, unless your dealing with really memory hungry things. A programmers wisdom that cannot be underestimated: Don't optimize things that already run sufficently fast.