The issue happened because
a) when resizing the window, cocoa runs in the blocking resizing window event loop (i.e. effectively pauses/suspends the launcher's event loop)
b) due to recent changes to the launcher content drawing until absolutely necessary, the contents would only get redrawn when LBackend_Tick was called
However because of a), this meant that although resize events were delivered to the game which hence reallocated the framebuffer, the framebuffer did not actually get drawn to because LBackend_Tick never got called - hence why garbage appeared on screen