There's a nice PDF file up now on how to get the most, memory-wise, out of NXT-G. Take a look at it:
Writing Efficient NXT-G Programs
There's a lot of interesting tidbits here in just a handfull of pages, including how NXT-G shares some pieces of code... and how you can take advantage of that. The last point is perhaps the most interesting to me: "miniblocks", performance-oriented blocks that can be "added on". I like where this is heading...