The test shows that during RedrawWindow( ... RDW_ERASENOW ...) WM_NCPAINT delivery is not waited on the RedrawWindow() thread if the window is on another thread. It is still delivered directly to window procedure without showing up in PeekMessage(), and is processed synchronously if window is on the same thread. That corresponds to SendNotifyMessage() behaviour.
Fixes Warhammer: Vermintide 2 hanging during the game start. The game redraws desktop window (RedrawWindow(NULL, NULL, NULL, RDW_INVALIDATE | RDW_ERASE | RDW_ALLCHILDREN | RDW_ERASENOW | RDW_FRAME)). During that all the windows are getting updated and might be hitting that SendMessage in question. This hangs when it comes to the game's launcher's (minimized) window which is another process and doesn't process message queue at this point.