Whenever an app switches stack using its own code, we are left with stale frame handlers (which, on x64, is Wine workaround for missing compiler support for SEH handling). This is one of the two most common places breaking the apps as here frame handler is created for every thread and stays there (unlike most of other __TRY usages which are narrow scoped to Wine code without calling apps code callbacks). The only other place nearly as common is exception unwinding (where frame handlers are left whenever an app sets context on its own without calling RtlRestoreContext, like .Net core does). So I hope for these two cases having manual wrappers with proper .seh handling is justified.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4094