Rubbish collection in AS3 compared to AS2

I’ve been reading up on GC in AS3, I understand how it works now, and how I should go about things, nullifying all references, weak references, avoiding circular references etc (I tend to have circular references now I think about it).

How does the GC in AS2 work in comparison? How often is GC activated in both environments?

And is performance the reason that the AS3 GC has become less automatic and less frequent?

In AS2 presumably it’s having to do far more scans and more frequently, thus being more of an overhead?

How does the delete keyword differ in AS3 compared to AS2? I know many people used null in AS2. I tended to use delete for onEnterFrame events and instances of classes no longer being used, then just remove for movieclips obviously.

Any other GC tips for a framerate junkie?