Stop certain apps from ever using mobile data Before you refer to this: I have tried installing Onavo as suggested here, but that did not allow me to do what I wanted (at least the current version of the app doesn't).

My Wi-Fi is not the most reliable, and it sometimes simply dies for a while, causing my phone to switch to data usage. Of course this always happens when I'm watching a video on youtube on my phone, and I only notice afterwards that this has happened, causing my mobile data usage to skyrocket.

What I would like to have is some way to completely prevent the YouTube app from ever connecting to the internet if I am not using Wi-Fi at the time. I have already checked the box that prevents the app from using data in the background, but that is obviously not enough.
Frankly telling : You just can't stop an app from using the data when it is running in the foreground. Android has not implemented any feature till now. However, You can restrict the background data for the apps and save the data. Better you keep mobile data closed when you're using WiFi. I know its frustrating but that's the best you can do.

 Another option is to use a custom ROM like CM. It has the profile option where you can set the usage of your WiFi and data when you're at your home or office.