Используй using при работе с файлами.
using(var file = File.Create(path)) {
// делаем все нужные дела через объект file
} // а тут файл автоматически закроется
Это аналогично питоновскому with
Ну или можешь руками вызывать Close или Dispose, если в твоём случае using - не вариант.
Кстати File.WriteAllText и так умеет создавать файл, если он не существует