Procedure and START it in 2 Threads

Have you tried
POST(EVENT:CloseWindow, glo:thread)

In other words, treating the Control parameter as not optional?

Are you sure the window on the thread is receiving the event:CloseWindow event? Could you trap it and pop up a msg to say the event has been received?

Alternatively set a break point in the debugger for the window to trap the event:Closewindow and then watch what happens when the event:Closewindow is received in case something else is stopping the window from not closing properly.