You have a list of string arrays, but your inner loop is checking the length of the outer list when it should be checking the length of the inner array.
for (int i = 0; i < arr.Count; i++)
{
string[] row = arr[i];
for (int j = 0; j < row.Length; j++)
{
Console.WriteLine(row[j]);
}
}