What you are describing is different from what I am seeing. You can follow the path I am taking in the workflow I appended above to see how the tasks are related. In my test I am doing this set of tasks and seeing which tasks are still reserved afterwards. The ones I am marking bold should not still be there:
- Start Workflow
- Submit for Approval
- Modify Rule
- Submit for Approval
- Modify Rule
- Approve Rule
- Reject Rule
- Reject Rule
- Modify Rule
- Submit Rule
- Submit for Approval
- Modify Rule
- Approve Rule - orphan
- Reject Rule
- Approve Rule
- Modify Rule
- Approve Rule - orphan
- Reject Rule - orphan
- Approve Rule - orphan
- Submit for Approval
- Modify Rule
- Submit for Approval
- Approve Rule - orphan
- Reject Rule - orphan
- Approve Rule - orphan
- Modify Rule
- Approve Rule
- Reject Rule
- Approve Rule
- Reject Rule - orphan
- Approve Rule - orphan
- Modify Rule - orphan
- Approve Rule - orphan
- Reject Rule - orphan
When I check to see if the process instance is complete, it is not. Even the tasks in the subprocess are not being made not active, when I set the end node in the subprocess to terminate. You had mentioned that all tasks need to be complete or otherwise not active, so I am guessing this is why the process instance is still active. What would be the best approach to make the orphaned tasks not active? Any help would be appreciated.