In some cases a lot of intermediate nodes get created during evaluation, like for example with beta-reduction. It could make sense to manually free beta-reduced lambda bodies after evaluation is done.
Possible pitfalls could be AST capture by lambda macros.
AST capture in particular could be mitigated by checking what the result value references to.