fix issue where millions of ISetEntries would pile up and never be removed

After running on our production server for a few days we experienced slowdowns and a heap dump revealed millions of ISetEntries so I investigated and found out that garbage collected values of ISetEntries cannot be removed anymore with the existing method so I changed it a bit to allow removal of ISetEntries themselves.