Answer
Check the async workflow tracking table directly — an asynchronously-run workflow is posted there and executed by the engine separately from the interactive session, and a workflow that's fine running "After" can still fail silently once posted async, showing a stuck in-progress status with no visible trace elsewhere. A common root cause is a Projection Delegate/update step trying to match an outdated ETag value; explicitly sending the ETag as * (which OData interprets as matching any current value) rather than a specific captured value resolves this for entity-bound update/delete/state operations that support it.