Say I have this: "double CalculateSomething(double[,] VeryLargArray)", is the array actually referenced to memory on the heap, or is the whole array placed on the function stack? If the latter, is there a way to prevent this, if your array is really large? I think if the array is really large, it would become inefficient to copy all that data to the stack.