In my country (Australia) we are able to ask the mobile provider to disable data on our accounts to ensure we cannot use any at all, and thus cannot be charged for it unwillingly. It might be worth calling up the provider and asking if they can disable the data service.
You have multiple questions here, so one answer at the time:
When your iPhone is connected to a Wi-Fi network, any app that needs data from the Internet will use the Wi-Fi network instead of the cellular data network. The data usage is therefore not counted against your monthly cellular data limit. However, when not connected to a Wi-Fi network, any time an app needs data, it uses the cellular data network and is counted towards your monthly limit.
Stopping apps from using Cellular Internet data:
That can be done in your iPhone settings. Select Cellular and it will open new window showing who and how much. There is a slider to turn that app off from Internet data.
At the bottom of the list, there is an item named System Services. Selecting it will show how much cellular data is being used for things like Messaging Services, Push Notifications, Documents & Sync, iTunes Accounts, Siri, Voicemail, Software Updates, Find My iPhone, Diagnostics and Apple ID Services.
Remember those are cumulative data, so rest them once a month in date accordance to your plan.
There are few external apps for measuring and controlling internet data.
For Safari and FireFox, go to the individual settings and disable the FlashPlayer to prevent sites loading unwonted flash based advertisements. You will be asked to enable it if you do want to watch something.
Best Answer
I know this question is old, but I just found the the same happening for me.
First off, you can see when your location services are currently in use when a little North-East arrow appears on your status bar next to your battery.
One way to find out which apps are using location services, is to start closing apps one by one and checking when that arrow disappears.
A better way is to look at the Location Services settings
Settings > Privacy > Location Services
. Here you can see all the apps that have requested access to Location Services and also what permission they have been granted ("Never", "While Using" or "Always"). Best pay special attention to the apps that show "Always". This means they can use Location Services even when the app is not active. This screen will also show a purple North East arrow next to apps that are actively using Location Services right now.If you don't want the offending apps to have access to Location Services you can change their access to "Never" or "While Using" to limit the damage. Note though that depending on the apps purpose it might stop performing as desired.