Quick answer: Unreal Blueprint async-load of soft object pointer leaving memory allocated after cancel? StreamableHandle reference retained even on cancel - explicitly Release.

Cancel loading; memory shows the asset still resident; loaded list shows the asset.

Release on cancel

Handle->ReleaseHandle();

Frees both the handle and the asset reference. Memory reclaimed.

Or use weak references

TWeakObjectPtr; GC reclaims naturally. Doesn't require explicit release.

Audit handle lifetimes

Each FStreamableHandle is a reference. Lost references = leaks.

“Streamable handles are reference-counted. Cancel doesn't decrement.”

Build a SafeAsyncLoad helper that captures and releases handles. Misuse-resistant.

Related reading