This is expected and normal behavior. By setting region monitoring, you are not keeping the app alive in the background. The OS will still decide when and if to sleep or kill your app in the background. Your monitored regions persist and your app will be awakened when appropriate.
If your app is killed or asleep, you will see application:willFinishLaunchingWithOptions:
and application:didFinishLaunchingWithOptions:
methods of the app delegate called. You can check the options keys to tell if your app has been awakened by a location event.
From the app delegate class reference:
UIApplicationLaunchOptionsLocationKey The presence of this key indicates that the app was launched in response to an incoming location event. The value of this key is an NSNumber object containing a Boolean value. You should use the presence of this key as a signal to create a CLLocationManager object and start location services again. Location data is delivered only to the location manager delegate and not using this key.
For the most part, if your locationManager is created in this method, you will not do anything differently. Depending on your use case, you may handle the delegate call differently when in background or you may just react same in all states. That is something you will have to consider for yourself.