There appears to be a bug in the WebConnectionStream class in Mono.
https://bugzilla.xamarin.com/show_bug.cgi?id=1585
https://bugzilla.novell.com/show_bug.cgi?id=675362
Using the SharpBox library I have came across this issue on a few occassions when using the DownloadFile method when trying to download large files e.g. 10mb+. From what I can gather about this it is a race condition due to too many reads happening. A workaround which can be applied to the SharpBox library was to increase the default buffer size from 4k to 8k in the StreamHelper class.
I have attached a patch for MonoTouch.