As you can see you are setting the Owner to your Spawned Actor as Self, this is the one youre about to Destroy. The Owner should really be the Player Character in this case, not sure if that has anything to do with your problem though.
Im not sure if the issue is with the pieces of code you show or not, another idea might be to check the output of Spawn for validity as you may be adding null entries to the array. You could maybe fiddle with the Collision Handling Override, Im not sure if your Actor has anything that might collide causing it to not Spawn.