У меня просто была эта проблема, и для меня ситуация была такой:
if(!exportDirectory.Exists)
exportDirectory.Create();
Затем, когда в другом классе, которому передан этот такой же объект DirectoryInfo, я делаю:
if (!exportDirectory.Exists)
throw new DirectoryNotFoundException(exportDirectory.FullName);
И каталог, по-видимому, все еще не существует (хотя у меня есть родительский каталог, открытый в Windows, и, конечно, я вижу его прямо перед собой)
Решение, которое я нашел, заключается в том, что после первоначального создания каталога я должен вызывать:
exportDirectory.Refresh();
От Microsoft:
Обновляет состояние объекта. (Унаследовано от FileSystemInfo.)