My guess is that OF checks for your location at a certain frequency, say, every 5 minutes or so. It then checks if your current location matched any context and, if so, if that context has been assigned to any task which is past its start date/time.
That would mean that if you are sitting on your friend's couch, OF would localize you exactly there, every 5 minutes. Since you have a task with a context that matches your location, it reminds you.
It makes sense because if you imagine a little scenario. Say you are visiting your friend on monday, tuesday and wednesday. On monday you knock on his door, your friend is laying on his couch, passed out drunk. OF still knows where you are and reminds you. On tuesday you are there again, your friend is laying on his couch with the blonde next door and does not open (unlikely at that may be). OF still reminds you because you are at his place. Wednesday you come back, your friend is hungover and just got the news he becomes a dad. He is in a bad mood but, since OF reminded you again, this time you can finally cheer him up with the money for your bill.