It appears that the problem was with creating the array of shared pointers: I’ve used pointers to the items in the original array to populate it, which seems to cause some memory-related problems. Instead, I should have created new structures with the same properties as the original ones to populate the array:
for (auto Artifact : Artifacts)
ArtifactsPtrs.Add(MakeShareable(new FArtifact(Artifact.Name));