Do you think the problem that is addressed by offheap could also have been addressed with a generational garbage collector?
But very long lived data structures, like caches and in memory databases still need to be marked during full heap garbage collection cycles. These are less frequent with a generational collector though.