[eluser]OverZealous[/eluser]
You do realize that 90% of that stuff
is already shared, right? The configuration info is copied by reference to each object, just look at the initialization code. This means that there is only one copy per model. var_dump/print_r is a poor view of what is in actually memory.
Of course, some of that could be replaced with public static references, which might help in those extreme cases, but also will most likely break object inheritance completely.
PHP has horrible memory management. It is designed to start up, run something, and exit. The garbage collection isn't even able to cope with circular references - once two objects reference each other, even if nothing else references them, they will not be GC's until PHP exits.
Coming from a Java world, I get really frustrated by that.