Открывается ли файл для чтения перед удалением? Если это так, то неудивительно, что вы все равно сможете читать из открытого файла даже после того, как файловая система иначе его отпустит.
RE: File.Exists()
:
File.Exists
по своей природе подвержен условиям гонки. Он не должен использоваться в качестве исключительного способа проверки того, что файл существует или не существует перед выполнением какой-либо операции. Эта ошибка часто может привести к уязвимости в вашем программном обеспечении.
Скорее, всегда обрабатывайте исключения, которые могут быть сгенерированы из ваших реальных операций с файлами, которые открываются и т. Д., И проверяйте ввод, когда он открыт.