From the activity lifecycle you should be getting Activity_Pause called when your activity goes into the background. You don't mention whether you see this.
An Activity is an application component that provides a screen with which users can interact in order to do something, such as dial the phone, take a photo, send an email, or view a map. Each activity is given a window in which to draw its user interface…
You apparently have more than one activity in your app which could make things a little confusing. Are you starting Main from DeliverySignature.Activity_Create?
What is your definition of 'restart'. Activieis in an app can be destroyed and recreated while the process is still running. Starter service is only closed when the entire process is killed.