To avoid memory leaks, don't create new temporary objects, arrays or strings. So never use the new keyword in a line of code that can be executed more than once. If you need to reuse an object or array, declare and create it as a class-level field.
String literals are created as new objects every time the code encounters them, such as in LCD.drawString("hello",0,0); You can fill memory quickly by calling this in a loop. So define a field
String HELLO = "hello";
for(int i = 0; i<10000; i++)LCD.drawString(HELLO,0,0);
is perfectly harmless.
I hope this helps.