Потому что int[,] array2 = new int[10,10]; - это массив с ячейками от array2[0,0] до array2[9,9]
Нумерация с 0 начинается. То есть первая ячейка массива размера 10 на 10 будет array2[0,0], а последняя array2[9,9].
А Вы пытаетесь обратиться к несуществующей ячейке ([10,9]), поэтому получаете ошибку, что вышли за пределы массива.