You still have to scan the oldest generation at some point; otherwise (assuming some activity) you'll be leaking memory there over time.
Moving the work to another core doesn't really change my statement.
Aside: I wonder if it's feasible to switch to reference counting for the oldest generation? That would move the problem back to deallocation. I'm not sure if that's a good trade-off, but it would be interesting.