Thank you for waiting and your observations are close to our findings.
Our testing and research confirm that the inconsistencies are related to how the relationships are saved in the database.
Whenever a post is joined in any relationship for the first time, its entry is included in the "toolset_connected_elements" table. Post ID of that post is saved under the "element_id" and every record in the table is given a new unique "id".
The actual post-relationship connections are saved in the "toolset_associations" table based on those new "ids" from the "toolset_connected_elements" table.
However, when bulk posts are generated and connected in relationships at the same time and through simultaneous connections, the overlapping occurs between the newly inserted post IDs and element_ids. As a result, unexpected relationship information is saved in the "toolset_associations" table.
The repeated tests show, that separating the post-insertion and post-relationship connection method (though a new array that I recommended earlier) reduces the chances of this overlapping, but, unfortunately, it is also not 100% safe.
This limitation of the post-relationship structure has been highlighted to the concerned team. However, since it will involve major restructuring and code revamping, it will take considerable time and effort and therefore, it won't be possible for us to share any time estimate.
For now, for all the cases where you need to generate the posts in bulk and then join them together, you'll need to adopt a workaround, that doesn't rely on post-relationships.
Have you considered storing the related child post IDs, in a repeating custom field in the parent post? This will not help in the front-end search filters, but, you'll still be able to show the related posts on the parent and child posts.