когда вы пишете файл, вы делаете это
// 1. write the length of the array
sw.WriteLine(txtStorage.Length);
// 2. write the user name
sw.WriteLine(Entry.Text);
// 3. write the array
for (int i = 0; i < txtStorage.Length; i++)
это сгенерирует файл примерно так
3
myusername
user1
user2
user3
затем, когда вы читаете файл, вы делаете это
// 1. read the length as a string
txtStorage = new string[Convert.ToInt32(sr.ReadLine())];
// 2. you aren't doing anything to handle line #2
// 3. you are using the LENGTH of txtstorage, which is 1, so your loop is only executing once
// and since you skipped #2, you are also starting on the wrong line
for (int i = 0; i < txtStorage.Length; i++)
вместо этого сделайте это
// 1. read the length as an int
var ndx = int.Parse(sr.ReadLine());
// 2. read the user name
var user = sr.ReadLine();
// 3. use ndx as the loop counter, starting on the correct line
for (int i = 0; i < ndx; i++)