It does, as it does for deleting items.
Watch mIRC mem usage - e.g. in the taskmanager - while this is runnning:
alias htest {
hmake -s htest
.timer 1 5 htestadd
}
alias -l htestadd {
echo -sgc info * adding 100k items...
var %n = 1
while (%n <= 100000) { hadd htest %n $str(%n,75) | inc %n }
echo -sgc info * ...done
; or hfree here instantly
.timer 1 5 htestdel
}
alias -l htestdel {
echo -sgc info * deleting the items...
var %n = 100000
while (%n) { hdel htest %n | dec %n }
echo -sgc info * ...done
.timer 1 5 hfree -s htest
}