Прямолинейное решение может быть таким:

Ликвидируем проверку на необходимость загружать новые фичи. После каждого зума убиваем все текущие фичи.

map.layers[1].features.length
34869
map.layers[1].features.length
15844
map.layers[1].features.length
114
Такой подход при всей его порочности справляется с требуемой задачей.
Что ещё можно улучшить:

Можно попробывать передавать данные не по 9мб за раз, а порциями.

Можно задуматься о необходимость отображать на крупном масштабе все 35К объектов и попытаться отображать их более... сглаженно/сгруппировнно