Executes the FDownloadFile operation, but unlike the Execute method this can be called from a background thread, this works because FDownloadFile is thread safe and it does not change the state of source control.