I thought this might be the issue. I have so far been hesitant to fix this without more testing and here is why:
Say you have an offline list with 2000 caches. GPS returns a new location update every second or so. This would be the time to then update all the caches with the new location. However, you could imagine how this could start to turn into an issue if every second we tried to loop through 2000 caches and update their distance. Memory and CPU usage would be high.
To solve this issue I am going to update all caches at a longer interval, say 30 seconds. This should fix the bug while also not overwhelming iOS with trying to update a large amount of caches each second.
Will work on fixing this bug. Thanks everyone for the testing and input.