Fix reactivity context cleanup

Fixed a bug where reactivity context wasn't properly unset after async operations completed, which could cause incorrect mutation errors when multiple promises were involved. The fix ensures context is always cleared at the right time by queuing a microtask to unset it after restoring.