Delete Propagation After Removing an Origin Relationship
If you delete a delete-propagating origin relationship, or if the repository engine automatically removes one after deleting its attendant origin object version, delete propagation can occur. The repository engine considers performing a propagated deletion on each destination version of the relationship (that is, the repository engine considers performing a propagated deletion on each object version from the TargetVersions collection of the deleted origin relationship).
The repository engine considers deleting the target versions in reverse order of their creation (not in the reverse order of their inclusion in the TargetVersions collection). In effect, the repository engine works backward through the version graph, attempting to delete leaf nodes before attempting to delete their predecessors.
The repository engine performs a propagated deletion on an object version only if the object version satisfies the requirements for object-version deletion. If the object version does not satisfy the requirements, the repository engine does not perform the propagated deletion on that object version.
Even if the repository engine encounters a candidate for propagated deletion that does not satisfy the requirements for object-version deletion, it continues to evaluate the other candidates. Thus, the entire delete propagation operation can result in the deletion of some of the TargetVersions, but not others.