The function that is hanging the UI Event Handler Task is VISA Close. I'm not sure why it takes extra time to close, but the Principle of Data Flow means that the Event Structure can't exit until it finishes. The other loops close immediately because the Messenger Channels say "Do it Now".
I have been using (and abusing) Channel Wires for three-and-a-half years, and many of my VIs use Messenger Channels. I've never used the Abort feature -- if I want to send an "Exit" message, I send an "Exit" message and have the Reader respond to it. If it's an "Error", I handle the Error and/or send "Error" and have the Reader do whatever is appropriate. Makes it simpler, no need for extra Case Statements.
This May, at NIWeek 2019, I'll be giving a talk on Using and Abusing Channel Wires, and talking about a Project that runs up to 24 data stations (simultaneously) and has 6 Channel Wires per station + more in the Main routine. Most of the Channels are Messenger Channels, but there are a few Tag and Stream Channels in there, as well. Runs like a top. My talk is at 4:30 pm on Monday, May 20.
Bob Schor