Apple's iOS App Programming Guide in the "App States and Multitasking" Section, indicates applicationWillResignActive:
is called as part of your application's handling of events through processing the run loop, which only begins after application:didFinishLaunchingWithOptions:
has finished.
Furthermore, application lifecycle events always happen on the main thread, so it wouldn't be possible for one of them to pre-empt the other or run in parallel with each other.