c # хеш-таблицы не уменьшаются; они только растут. Логика важна, потому что алгоритм перефразирования ОЧЕНЬ дорогой для запуска; в большинстве случаев пространство, сэкономленное путем перефразирования в меньшую хэш-таблицу, будет полностью переполнено стоимостью перефразировки. В частности, в автоматическом режиме, когда любое удаление из хеш-таблицы не может быть «последним» удалением (невозможно определить из хеш-таблицы на алгоритмической основе), потенциальное значение просто не стоит этого.
Если ваша хеш-таблица значительно сокращается, и вы действительно хотите освободить пространство, я рекомендую просто создать новый (с правильным размером) и скопировать в него элементы.