My Tl;DR after reading is to destroy instances and connections. Other data types do not typically matter as after the variables are no long used it will be cleaned up. This means you only need to worry about it if there is an infinite loop and data keeps being created and stored in a table or creating instances and storing them in workspace.
Example testing, seems like :Destroy is not needed perhaps its an internal Roblox optimization? Safer to make sure the instances are destroyed with a function.