I’m seriously only guessing, but maybe it’s the calls to DestroyActor? Is it possible that some process is trying to access it after the DestroyActor call?
Maybe check out this post:
There are a couple other posts on the DestroyActor and the garbage collector, maybe you can find something there?
I would double check that, after your second call to DestroyActor, you continue running the blueprint script - maybe try putting it after you spawn the health item…?