This worked for me and did not require any looping. It took a object[85000,26] and converted it to object[85000][26] in a little over a second.
object[,] obj2D = ...
// Take my 2D array and cast it as a 1D array
object[] obj1D = ((object[,]) obj2D).Cast