and hangs a lot of time
A "hang" has a well defined meaning, it occurs when a program becomes unresponsive to user input, typically also suffering from painting artifacts and having its UI replaced by the ghost window, the one that says "Not responding" in the title bar.
None of this happens in the OpenFileDialog. It simply disables input but keeps the Cancel button operable while the download is progressing. A progress bar would have been nice but it is not a widget that's included in the dialog. Nothing hangs, the user can fire up Solitair and the dialog paints just fine when he switches back. If he gets tired of waiting then pressing the Cancel button works well.
No user is ever going to be flummoxed by this. You could use the FileOk event to have a look at the selected file before the download starts and display a warning that it might take a while. That however isn't terribly useful since you have no way to estimate how long it is going to take and is likely to just exhaust the user with an "I know, I know, stop telling me about the obvious" exclamation. Best to avoid helping here, you can if you want to.