Вашият втори String.Format използва {2} като заместител, но предавате само един аргумент, така че трябва да използвате {0} вместо това.
Променете това:
String.Format("{2}", reader.GetString(0));
Към това:
String.Format("{0}", reader.GetString(2));