Pattern
Async Lifecycle Cancellation
orphaned-async-after-destroy
Tasks started with raw Task.Delay keep running after a Component or GameObject is destroyed, causing lingering work and inconsistent frame/beat behavior; lifecycle-aware cancellation via the Component’s built-in task mechanism avoids orphaned async execution.