Setting a variable to an empty string flags it as a "deprecated field" which causes it to be skipped in dump but doesn't actually free it. However, deprecating a field should be fine for 99% of uses, and really it should be 100% but the only reason where you'd actually want to clear it beyond this is if you have either insanely long variable names or an insane amount of variables, in both cases you're probably doing something wrong.