If you block the UI with synchronous calls, the user may believe that your app has locked up and leave it. Also if there's a synchronous call blocking the main thread at the time you background the app, the OS may kill the app, believing also that it has locked up. In general, the UI should never be frozen up when it doesn't have to, and networking calls should never have to, they should always be executed on background threads. So if you use the synchronous methods, they should be done on background threads.
During the time that you're making network calls, you should display some kind of progress/busy indicator in the app. It is fine if you disable interaction with your UI while this is going on, but the user should be able to see that there's some kind of UI activity, so they know your app isn't frozen.