:Destroy() being deprecated doesn’t quite sound right, the methods you’re comparing have separate purposes. If you want to destroy an instance after x time you just use Debris.
I heard about Destroy being deprecated somewhere around the forum, and I think it’s similar to the wait() function, where you should use task.wait() instead.
I know, right? It didn’t make sense when I heard that, but I’m not sure if it’s true or not. Either way, I am just curious if one is better than the other. I think that are both good, though, for different things, correct?
I prefer to do basically the same: use :Destroy() to clear memory when Instances are not needed and use Debris when the Instance is not needed for the moment but might be required later.
Depending on how many thing you want to destroy and if you are going to recreate similar parts, it might be more efficient to not destroy anything and simply cache and hide objects untill you use them again.
I.e if a player shoots rockets or something, insted of creating and destroying rockets all the time just move the exploded rockets to like x/y 9999999/999999 and then move them back when the player shoots them.