You can just rely on the garbage collector. However, if you are asking this question, you
probably do not wish to rely on the GC. One solution is to add removed items to another
"removed items" list, and then loop over them, deleting after filter().
Or, with this removed items list, you could save the list and use it as a free list;
instead of allocating new list items in the future, grab from the free list.
Here is some example code