Well, you are trying to create an array of 100 million doublings (each of which will take 800 MB) - twice:
double[,] myDoubleArray = new double[bound0,bound1];
myDoubleArray = intarraytodoublearray(myIntArray);
Why try to initialize with myDoubleArrayan empty array and then reassign the value? Just use:
double[,] myDoubleArray = intarraytodoublearray(myIntArray);
, . , , ... , Mono . , , 64- . :
gmcs -platform:x64 ...
( , . , .)
, intarraytodoublearray - - int Int32 . Int32ArrayToDoubleArray .