Сортировка!
Оказалось, что проблема была в моем onResume с этими двумя строками:
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationListener = new GPSLocationListener();
Я никогда не удосужился посмотреть на них, потому что не ожидал, что состояние onResume повлияет на onPause.
Спасибо за помощь, Javanator.
Надеюсь, это поможет кому-то еще:)