Yes, it’s probably not always very clear, but the CallContext is not a place to store or keep data.
It is meant to populate, call a BPM, and then be reused/reset/discarded.
It will keep it’s data for the lifetime of the BPM call, after that, nothing is guaranteed.
Think of more along the lines of optional BPM parameters.