Thanks @jeevith for looking into this and the detail. I dont have a UI interaction so that is one less complication. This solution does seem to work for me but the caveat might be the aggregate piece of it. i would still like to be able to gather the results of each of these parallel operations and with this approach, i would need some kind of persistence to consolidate the results of the background runs. The cool thing about these multithreading frameworks is they will let you update some kind of synchronized list for result aggregation. So there is nothing in UI path that allows for this paradigm right? Just want to exhaust the possibility.