Hi,
Very good question...
now the problem is, CLR doesn't support any single object of size greater than about 2GB.
So you need change you way of calculation
Solution 1.
you can make your own class which will take an single array but internally split it in multiple parts, then CLR will be happy and you can do the operation with out any error.
Solution 2.
Memory Mapped files for reference :
MSDN[
^]
You can go through this link it will clear you idea.
http://msdn.microsoft.com/en-us/magazine/cc163995.aspx[
^]
Thanks
Suvabrata