Hello Eric,
The PreUUTLoop occurs once each execution has been launched - one for each TestSocket. So I guess it's too late to initiate a ressource shared between executions. I think that the ProcessSetup callback shoud be a better choice, because it is called before Initialize TestSockets sequence call in Test UUTs execution entry point (default ParallelModel.seq).
Then, in terms of shared ressource, the reference you get from Init action step has to be stored somewhere the two execution / test socket can have an access to it. An easy way of doing so is to set Sequence File Globals to All Executions Share the Same File Globals in Sequence File Properties:
Be carefull that it applies to all FileGlobals (potential side effects). StationGlobals should work, but I really don't like this option (StationGlobals are not meant for dynamic execution data - IMHO). An other way of storing such shared reference could be the TemporaryGlobals, but it's a bit more tricky to debug, because the variable has to be defined programmatically. So it's more complicated to check expressions that will use TemporaryGlobals.
Hope this helps,