Это из-за того, что устанавливается QFileSystemWatcher на этот каталог. Выход - уничтожать диалог.
Так и пришлось сделать. Но это мне не нравиться.
Это не удобно, например, когда создание/настройка, вызов, обработка результатов происходят в разных методах или в разное время.
Не говоря уже о том что приходиться дублировать код для всех методов с вызовом диалога, вместо того чтобы сделать один раз, например:
dialog.setFileMode (QFileDialog::DirectoryOnly);
dialog.setAcceptMode(QFileDialog::AcceptOpen);
dialog.setViewMode (QFileDialog::List);