Apparently a run loop on a background thread will stop executing if there are no timers or sockets connected to it. So no we use a timer for unzipping.