I was using Get(string, string). When I changed it to Get(stream, string), the socketexception was correctly thrown. I am assuming the socketexception was the reason for the other exception, but somehow it was not correctly thrown.
The code I used was directly from the demo. I did add an "ftp.Resume()" command.
Also, I was wondering if the Resume was correctly implemented for Get(stream, string). For the Get(String, string), the code sets teh resumeMarker variable. However, it does not get set in the Get(stream, string). This results in a Restart(0) getting called instead of Restart(file size).