I agree should be on roxie heap.. 

>A different alternative, which has a higher initial overhead, but better worse case behaviour is to have another "next" array.

I did consider using an array (instead of separate 'filled' HT), I was in two minds about it..