Do I need to store a reference after async loading a class asset to keep it in memory?

why do you need to load the asset exactly?

if its just meta data like name you have it in the struct or data asset,
if for spawning like dropping an item then a slight delay for async load probably isnt an issue.
if its something like use medkit you dont need to spawn it all, you could have an execution class like a UObject thats lightweight and would basically load instantly