I’ve read that you should call Background.exit() after your background process has finished its processing. If I do this following Authentication.makeOAuthRequest() then the Oauth2 request doesn’t reach the paired phone. Thus you can’t call Background.exit() after initiating an Oauth2 request which is likely to be more than 30 seconds before a response. Thus the background process will always hit the 30 second timer before terminating in this case. A design feature or a bug?