ok - figured it out.
If the network connection is very good, and the download is very large, the curlBuffer can fill up faster than I can empty it.
We are getting 200Mbit/s downloading a 2Gb file and well, things are going badly wrong. Then MemoryBlock tries to append(…) a tiny amount all the time and the computer gets stuck in realloc constantly.
Anyway it’s our slightly bastardised revision of the juce_Network_curl code so might not affect JUCE, but one to watch out for!