I have profiles that trigger on Geofence state, and some of them change my sound settings to turn on vibrate mode. This works consistently. However, most of the time the sound setting is not restored when the Geofence is exited. This happens on two phones, my wife's and mine, both Galaxy S7. I verified on both that "Restore Settings" is checked for those profiles. I can test this by using a GPS spoofer, and while other exit tasks (which do not modify settings) are executed, the vibrate setting is not restored. If I create a profile based on a state other than AutoLocation that sets vibrate mode, it does restore properly on exit.
Update: My wife's Geofence-based profile also turns off wifi when she's at work (in addition to turning on vibrate mode). I've just been informed that it also does not restore the wifi setting when she exits the Geofence.
Yeah, if I add an exit task that turns off vibrate mode, it works just fine. (Incidentally, I have now discovered that my work geofence is continuously entering and exiting every couple minutes, but that's another issue.)
I increased the geofence radius, and that did make it so that it doesn't enter and exit randomly. However, the sound settings are still not being restored when it does exit. If I reset them manually on the exit task, it works fine. But if I don't, it stays in vibrate mode.