The issue with iOS is that the system will kill the VPN process if it uses more than a tiny amount of RAM (including buffers to send data over the connection). You also have to be sure to do keep-alive heartbeats or it will be killed for being idle. VPNs on Android work reliably, I haven't noticed any issue.