ScrollingFrames do not release scrollbar when mouse button is released over a GuiButton

If the mouse is dragging the scrollbar of a Scrolling frame, it is normal behavior for the mouse to be able to leave the scrollbar with the left mouse button held down and still be able to move the scrolling frame. However, if the mouse lands on a GuiButton and releases the left mouse button while over it, the scroll bar will not be released from the mouse, regardless of any subsequent clicking. It can only be fixed by going back to the scroll bar and clicking on it. This only happens if the ZIndex of the GuiButton is at least the ZIndex of the ScrollingFrame.

I tried to CaptureFocus() on a TextBox for a sec when focus is lost or mousebutton1 is released (using UserInputService) but when the TextBox is destroyed/focus is released, the old scrollbar connects to the mouse again annoyingly.

I do not want to rescript the ScrollingFrame’s behaviour from scratch. I want to use the official supported gui object they gave us. Anyone like Anaminus know any tricks to force-release the ScrollingFrame’s drag-of-doom? Destroying the whole ScrollingFrame and cloning it back will work but that is absolutely silly.

This problem is 10 times worse when you have a grid of buttons inside the scrollingframe