Check the actual size of your file: any .NET object is restricted to 2GB, yes, so you can't create a byte array larger that that, but a 700MB array is not a problem under normal circumstances.
If the file is definitely 700MB, then you need to look at how much memory you have in your machine, how much is available and the free space on your HDD.
Try your code with a smaller file - one meg or similar - and see what happens. It may be that you are allocating more memory than can be provided.
I just tried your code with a 699Mb file, and a 1.4Gb file, and it worked fine with the 699, but failed with the 1.4GB, even if I tried this:
FileInfo fi = new FileInfo(strFile);
FileByte = new byte[fi.Length];
I.e. without the stream involved.
It may be worth your checking what target you are building for: X86 will have a smaller "object size" limit than 64 bit applications.
I would suggest that you need to look at doing this in chunks, rather than reading it as a single massive lump anyway.