Performance issue in NextGen ARC model
Weak references and their zeroing is managed in Delphi NextGen through a global hash table, with a global lock, see Arnaud Bouchez take on it:
Performance-issue-in-NextGen-ARC-model
Also apart from the global locking which itself is bad enough, there are a couple further performance issues: