UnionAsync() Breaking my code?

I’m trying to union a bunch of parts together. However, as soon as UnionAsync() is called, the function breaks. No union is formed, nor does any code after UnionAsync() work at all. I am completely at a loss as to why this happens.

local function unionParts(player)
	
	local Art_Folder = workspace:FindFirstChild("Art_Folder")
	local Player_Folder = Art_Folder:FindFirstChild(player.Name.."_Art")
	
	local toUnion = Player_Folder:GetChildren()
	
	local mainPart = toUnion[1]:Clone()
	mainPart.Parent = Art_Folder
	print(toUnion)
	local newUnion = mainPart:UnionAsync(toUnion, nil, Enum.RenderFidelity.Performance)
	newUnion.Parent = Art_Folder
	newUnion.CFrame = mainPart.CFrame
	newUnion.Name = "Octagon"
	mainPart:Destroy()
	for i, v in pairs(toUnion) do
                print("Destroying...")
		v:Destroy()
	end

end