I have a multi-threaded VB.net application that spawns threads that open Attachmate windows. Each thread has all the code it needs to process records. In other words, they share nothing and operate independently from each other. The only problem I am having is that sometimes when I send the <enter> key the Attachmate window does not return in a ready state to continue processing data. I have a loop that waits for ExtraObj.gSess.Screen.OIA.XStatus = 0 to tell me we are ready to continue. I am going add some code to tell the thread the loop seems to be stuck due to a non-responsive window but I would like to know: why does the mainframe hang? Is there something that can be done to avoid this scenario?