Snip ...
>> ...IMHO we alway should use the release method to release an object.
Walter,
I agree with this point. I call it the Kavorkian pattern, never destroy an object, ask it to destroy itself.
My point on the RELEASE command is simple, If I say RELEASE MyVar I expect MyVar to be released. I don't expect any other variable to be affected by the release command. Having the release of a memvar cause the release on an object when there are other vars referenceing that object just makes no sense to me. It strikes me as a major violation of encapsulation and an introduction of very tight external coupling.