Indeed, and you also didn't account for the Option Base. By using
[vba]
ReDim Arr(R.Rows.Count, R.Columns.Count)
[/vba]
you are effectively saying
[vba]
ReDim Arr('option base' To R.Rows.Count, 'option base ' To R.Columns.Count)
[/vba]
so if you have Option Base 0 as I do that means
[vba]
ReDim Arr(0 To R.Rows.Count, 0 To R.Columns.Count)
[/vba]
or a 4x3 array, bigger than is necessary, Arr(0), Arr(0,0), Arr(0,1) and Arr(0,2) and so on.
When you load the array, it gets redimensioned again to
[vba]
ReDim Arr(1 To R.Rows.Count, 1 To R.Columns.Count)
[/vba]
regardless of Option Base, or an array of 3x2, Arr(1), Arr(1,1), Arr(1,2), etc.