Quick answer: Godot 4 C# CancellationToken from tree-exit not propagating to nested tasks? Each task needs its own cancellation; pass token through the call chain.
Top-level task receives token; nested LoadAsync continues; orphan work.
Pass token through
await LoadAsync(path, cancellationToken);Explicit chain. Each level checks.
Or use linked token
Per-task linked CancellationToken. One source; many tokens.
Audit cancellation chains
Each async call's token. Missing token = orphan work.
“Cancellation needs explicit propagation. Implicit doesn't exist.”
Build the token propagation as a project convention. Easier than chasing leaks.