There is something wrong with how this is popping a region and returning the points to the region. I have a feeling finding the bug would take me awhile, and that I really really don't want to troubleshoot a structure like this in a language whose idiosyncracies aren't familiar to me.