If a gesture starts in the non-fast-scrollable region, but outside of any scroller, then the 'began' event bounces from the EventHandler thread to the main thread, and is seen by main thread wheel event handling code. However, that code bounces the event back to the scrolling thread, where it can trigger latching on a scrolling node. Subsequent events the same gesture are all then consumed by the scrolling thread, so the main thread never sees an 'ended' event, and doesn't know to clear main thread latched state.
Also, with slow-scrolling overflow inside the page, we don't send balanced wheel events from the main thread to the scrolling thread.