I was thinking, Does the 'Destroy' method truly destroy an Instance?, and, to my surprise, when I tested my Question with a part, it still thought the Instance was existant, even though I called the Destroy method on it. I am puzzled on why that is, because, I thought the Destroy method truly Destroyed an Instance. My newest Question now is; Why doesn't the 'Destroy' method truly destroy an Instance? Here is the code I used in my experiment;
local Part = Instance.new("Part",game.Workspace)
if Part then
print("Part Existant!") --Prints first time
end
wait(.1) --Waits .1 seconds
Part:Destroy() --Destroys the 'BasePart' instance
wait(.1) --Waits another .1 seconds
if Part then
print("Part Existant!") --Prints again, thus, my question on why the 'Destroy' method does not truly destroy an Instance
end

3 comments
I'm guessing it's because Part is a variable. They might be referring to the variable since the part is gone. The variable was made at the beginning of the script. So for that script ONLY the part will still be nil in a way. But if you were to make another script to see if part existed then it would not print anything.
I tested my theory and it seems to be correct.
I changed the 'if' statements to check if variable 'Part' is a 'BasePart' type instance just now, but, sadly, it has the same result.