I didn't say anything about "a full run of the garbage collector." Unneeded objects either sit in memory forever, or they are freed (garbage collected). Those are the two things that happen to objects we create and then don't keep references to.
I _COMPLETELY_ disagree that people produce less-buggy code with hooks. I think the fact that most people don't understand even the material above means that people are going to create more bugs just around that stuff. Then, there's the way that hooks encourage developers to just reach out and grab anything from anywhere (which I detailed in Part 1 of "Can we just admit React Hooks were a bad idea?", but I have more to say in the future) encourages TERRIBLE architecture. All the state variables are nameless in React tools, and all your handlers for useEffect, etc., are also nameless arrow functions. It's often insanely difficult to figure out how your app got into a bad state or what is causing an infinite loop of renders, because the sequence of events can't be followed from one render to the next.