Hi @gepirvu ,
After having conversation with internal team, below are the findings:
ForEach activity does wait for all inner activity runs to complete. In theory, there should not be much delay on marking foreach run success after the last activity run within it succeed. However, ADF rely on partner service to execute the runs and it's possible that the partner service run into failures and could not complete foreach in time. They have build in logic to keep retry and recover but the behavior in ADF activity runs is delay. It's also possible that orchestration service fails and partner service keep retry on calling us. but usually partner service delay is the main cause here.
Are you noticing this behavior consistently or intermittently? If you notice this behavior consistently then we need to file a support ticket for deeper analysis.
Please let me know if this info helps or if you would want to proceed with Support ticket.
Please do consider to click on "Accept Answer" and "Upvote" on the post that helps you, as it can be beneficial to other community members.