I don't know about the wxmaxima issues, but all the trash in the
computational part of Maxima is taken out automatically. All YOU have to do
sometimes is decide that stuff is, indeed, trash.
Since any previous line can be accessed by %o, you have to do something
like kill(labels); then you have stated that you will not expect %o.. to be
around.
You can kill other parts, too, either by using kill(...) or if you know
foo is a large expression, doing foo:0 will make it very small.
Calculations can fill up memory, but Maxima doesn't generally fill up memory
unnecessarily.
RJF