Duplicate actor - Crashes, unexpected behaviour

Could you post the callstack and log files from the crash as well for additional information? Looking at the code itself, it appears that ItemToTake == Item. So SpawnParams.Template = ItemToTake; is the same as SpawnParams.Template = Item;. Thus when you attempt to spawn the new item using the SpawnParams, the template you’re using is a clone of the item that was passed into the function and may be causing a conflict (likely naming). Being able to look at the callstack and log files will help confirm if this is what is happening or if the issue is something else.