Thanks for reporting this issue, and for your patience. We’ve been very busy with the JUCE 8 release, so we’re only just getting round to looking at some longer-standing bug reports.
We’ve made a series of updates to the URLConnectionState class, which should improve stability on macOS.
The first change removes code that will never be called on any of JUCE’s supported platforms:
Secondly, we’ve improved thread safety in the NSURLSession-based downloader:
Finally, we’ve refactored to allow multiple connections to re-use the same NSURLSession instance:
The new threading model is a bit simpler, so there are fewer places for threading bugs to lurk. I’ve tested this out a bit, but I haven’t necessarily uncovered all of the potential issues, so I’d recommend trying it out yourself and letting us know if you still encounter problems.