Нет, это не закроет StreamReader.Вы должны закрыть это.Использование делает это для вас (и утилизирует его так, что GC'd быстрее):
using (StreamReader r = new StreamReader("file.txt"))
{
allFileText = r.ReadToEnd();
}
Или, в качестве альтернативы, в .Net 2 вы можете использовать новый файл.статические члены, тогда вам не нужно ничего закрывать:
variable = File.ReadAllText("file.txt");