erm ... may be stupid, but ...
"Background tasks that use a maintenance trigger are only performed when the system is connected to AC power." Taken from MSDN
Can it be connected to the network when it is working ?, and not connected when it is not working?
EDIT: Consider how busy the phone is when you try to sync contacts? Do you make the app always run in the background with Battery Saver?
You could do something like this to find out how busy your phone is ... or it could be a battery saver stopping your application, if there are size restrictions, etc. achieved ...
Taken from here ...
var result = await BackgroundExecutionManager.RequestAccessAsync(); if (result == BackgroundAccessStatus.Denied) { // Handle this if it is important for your app. }
"If the result is rejected, the phone considers that it has too many background tasks. In this case, you can ask your users to go to the Battery saver application and make the application work in the background, even if the phone does not work, I want to ..."
source share