This is actually related to a known behavior where the "Refresh the page" action will destroy any context about the current page and cancel any server side calls meant to track workflow progress. As a result, it's not very reliable to run workflow steps after this action since timing issues are likely to occur.
The workaround here is to make the "Refresh the page" action the last one in a workflow and then use the "Page is loaded" event to trigger any subsequent actions. This should help everything function more reliably.