>But callers of addRangeTableEntryForJoin(), expects to handle a list or NIL, if we free the memory I've thoroughly reviewed all callers of the `addRangeTableEntryForJoin()` function and confirmed that the list is not used after this function is called. Since `addRangeTableEntryForJoin()` is the last function to use this list, it would be more efficient to free the `List` at the point of its declaration.
I'll attach new patch where I free the lists.
Seems like a better style.
Now you need to analyze whether the memory in question is not managed by a Context and released in a block,