I think he means is it enough just to Free or is it better to FreeAndNil?
For local (not used twice) variable, or used only inside class/unit (rarely) - Free is sufficient.
For a global variable (typed constants), public fields (or are the basis for public properties) - FreeAndNil.
If you mix interfaces and classes - always use FreeAndNil.
Fortunately, in FPC, the FreeAndNil procedure is not inlined, which makes it a little more efficient (there is no code bloat, as in Delphi).
By the way, for some reason, ReallocMem(P, 0) is rarely used. Instead, it is often written FreeMem(P); P := nil. Although the first is more effective and safer (check for nil).