"Is there any way to get notified if the user still in same region after some time?"
Not to my knowledge. Regions are managed by the OS, Timers are managed by the app. Timers are killed if the app is terminated. Regions stay alive.
A possible workaround:
Create a region, but turn on its notifyOnExit
. And as long as you don't get that callback you can assume you're still in that geofence and just try to do something using that callback, like if you get that callback in less than 10 minutes then do something if you get that callback in 10-20 minutes then do something else, and if you get that callback in more than 20 minutes then do some other thing and if you never got that callback then well it means you're still in that region, but unfortunately you won't be able to get a callback for that one :/
Having that said geofence aren't entirely reliable. Though this question is a bit old. I'm not sure how valid it is.
Additionally your timer won't work if app is suspended. What you can do is keep the app alive in the background using core-location, but use it with 3kilometers accuracy (to preserve battery but still keep the app alive) and then create a timer. Not a really great solution though. And maybe Apple would reject it.