Dan, the short answer is that such an architecture can be built. The BridgePoint C model compiler actually supports this case selecting instances among _threads_. It is a small bit of architectural code generation to support “instances in separate tasks”.
While modeling, it is O.K. to wonder about generated code upon occasion, but do not let it steer your analysis-level decisions.