Yes, and my point was that you pay for the (implicit)
deallocation by
the need to copy all live objects. The cost of copying is not
zero
compared to a non-copying GC. No matter how you do it, the cost
has to
be paid *somewhere*. It's just a question of which method will
be less
costly based on what your application does.
The cost models are vastly different and as you finally note
application dependent. *The* cost does not have to paid
*somewhere* because there is not a single cost to begin with.