"is pending kill" error on input parameter after Timeline Finished

I have a Blueprint that extends another Blueprint, overriding a function from the parent in its event graph. The event takes an input “Future”, runs a Timeline, and then uses that input after the Timeline finishes, like so:

126463-landblueprint.png

This usually works fine, but sometimes I see an error of this form:

LogScript:Warning: Attempted to access Future_665 via property Future, but Future_665 is pending kill
    PlainSpace_C /Game/StarterContent/Maps/UEDPIE_0_Minimal_Default.Minimal_Default:PersistentLevel.PlainSpace_584
    Function /Game/PartyPlanet/Spaces/SpaceBase.SpaceBase_C:EndLand:000D
PIE:Error: Error Blueprint Runtime Error: Attempted to access Future_665 via property Future, but Future_665 is pending kill from function: 'EndLand' from node: Resolve Future in graph: EndLand in object: SpaceBase with description: Attempted to access Future_665 via property Future, but Future_665 is pending kill

What’s going on here, and how can I avoid it?

(“Future” is a UFuture, a plain C++ UClass inheriting from UObject, and not an Actor that’s being killed somewhere else.)

I’ve been able to replicate this issue with a Delay in place of a Timeline:

Turns out I misunderstood UE4’s garbage collection: local references in Blueprints don’t keep a UObject alive. I switched over to a USTRUCT wrapping a TSharedRef to a plain struct.