You have to call the subVI dynamically - assigning the subVI to a different thread won't help. Basically, you use Open VI Reference, the property Front Panel.Open, and then the method Run VI and set Wait until done to false. There have been numerous discussions on the subject and examples posted. Do a search for dynamic calls and browse through what you find.