strings are reference counted
dynamic arrays are reference counted
interfaces are reference counted (mostly for doing com stuff, however I've seen some examples of people trying to use interfaces as a cheap/dirty "i don't have to think about it" memory management tool, badly)
everything else is managed by yours truly
please enlighten us as to what you think Delphi is intended for, and what the standard kit is actually optimised for