An async method can finish its useful work and still be holding lifecycle state that tells the rest of the system it is active. That sounds like a tiny implementation detail. Under concurrency, it becomes a contract bug.

Source: [Dev.to](https://dev.to/iqtechsolutions/completion-is-an-ownership-boundary-540o)

Sponsored