[snip]
I want to add that the problems of AA with garbage collection are not particular to the implementation of built-in AA. The number of nodes that builtin AA creates will increase GC scanning, but the AA slowdowns also occurs using the pyDict implementation with string keys.
Actually, you can design the AA to 'play nice' with D's GC. See RandAA.