Unfortunately yes this is what you will have to stitch up on your own with a background process. I don’t see any other way in UiPath to achieve your requirements.
A process with consolidation output is sadly going to be clumbersome to implement and may need some additional testing. For example if the bot fails one day guardrails have to be in place so as to not to use outputs from previous runs etc.
To avoid any IO issues while writing the temporary content to a file (output from one execution) I would keep a 1 is to 1 relationship. Each process writes to a dedicated file and later use another background process to combine the outputs say CSVs or JSON files to one output file.
Or same can be achieved with dedicated n number of text assets in Orchestrator and each execution writes to its corresponding asset. A final process (n+1th process) which combines the three assets to give you the consolidated output.
In both scenarios you will have to also consider how to reset the content depending on your business logic to avoid duplication of output.
It is a good usecase to submit as a feedback to UiPath by adding a new topic here:
Probably you can also evaluate if UiPath is the right tool for this use case. May be other programming languages and use the multithreaded functions as you mentioned above may be a better fit? Again this alternative will have its own pros and cons.