Weird driver behavior on frame change
This is the just the dependencies graph not updating in the right time just as you speculated. The value 101° is actually the result of the driver at frame 45 while the value 96.2° is actually the result of the driver at frame 43. The true value of the driver at frame 44 is 98.5°.

When you approach the frame 44 from the left, the last computed value is at frame 45, so its value is used. When you approach the frame 44 from the right, the last computed value is at frame 43, so its value is used. If you updated the dependencies at the frame 44, the true value is used.

I don't think there is an easy way to solve this, and this is one of many reasons I stopped using drivers. I recommend using Animation Nodes instead.