похоже, что теперь работает. но заметил вот что:
запускаю exe-файл, он стартует примерно с 8,688 KB потребляемой памяти (загрузка ЦП - в норме)
и если запустить/активировать проводник, то мгновенно эти 8,688 начинают беспрерывно расти (где-то раз в секунду чётко на 8 KB, изредка - чуть более чем на 8 KB)
рост происходит только при активном проводнике, если переключиться на другое приложение, то рост сразу приостанавливается; как только вернуть фокус проводнику - рост с той же скоростью возобновляется
на 8 KB растёт, если ничего не происходит; если выделяются объекты - растёт на 32 KB примерно каждую секунду
наверное, это не самая значимая проблема, но всё же не хотелось бы наблюдать подобное поведение. не знаю, может быть, стóит прописать, чтобы программа сама перезапускалась, к примеру, после каждого часа работы. или есть более толковый способ убрать эту "прожорливость"?
уточнения:
запоминаются последние выделения объектов для каждой папки, пока в log-файле не будут записаны 20,000 блоков вида: [1], [2], [3]?
затем старые блоки будут по одному замещаться новыми?