I have a few solutions for you, that I think will help. The first item I would suggest is to utilize this host file, which blocks many annoying tracker URL and other annoying advertisement.
Secondly, I would then enact Networx, which has the following key features:
Clear graphic and/or numeric display.
Usage reports, exportable to a variety of file formats, including Excel, MS Word > and HTML.
Close supervision of uploads and downloads.
I would recommend using this application, allowing you to get graphs on usage per day, week, and application. This should allow you to identify applications that are utilizing too much data, and then stop.
As for your white listing, I would recommend make standard network rules. You can use the default Windows firewall, but as far as I am aware I do not believe you can have profiles (i.e. you cannot enable a "4g profile" which then blocks these applications). If you're unsure how to do this on Windows, read this guide.
Now to circumvent the need for a 3rd party firewall, you can just have "profiles" on Windows Firewall. Simply configure 2 sets of rules, export the rules to a file and then import them when needed. (You probably could use some fancy bat or vb script to automatize this based on SSID but this isn't super user...) The command to manually run this import is:
netsh advfirewall import C:\Path\To\Profile1\
netsh advfirewall import C:\Path\To\Profile2
Hope this covers what you're after.