I've posted the below on another topic, it might be of help? (It also might not work but it's working ace for me!)
Doing some digging it looks like the Instagram app uses some pretty non-standard ports (7713-7716 TCP/UDP) which if this is the cause of the media load issues I'd say the router is doing it's job perfectly in it's Firewall duties. Would also explain why disabling the firewall would fix the problem.
1) DNS Query instagram.com - 7713
2) HTTP Activity 1 - 7714
3) HTTP Activity 2 - 7715
4) HTTPS Activity 1 - 7716
Would also explain why a VPN works fine (as the data is being tunnelled through open normal VPN ports).
Head to your Hub (192.168.0.1 is the default)
Advanced Settings > IP and Port Forwarding > 'Create a new rule'
Source IP address 'ALL' (Or if you want to be more secure, find the IP the instagram app is requesting the content from)
Destination IP address 'ALL'
Source Port Range  to 
Destination Port Range  to 
This should only be done if you trust these ports are correct as you are punching a hole in your firewall on some ports given to you by a random guy on the internet - confirming ports would be up to Instagram to do, not really Virgin's issue here if this is the cause.
I've done some testing on my Hub 3.0 and seems to have fixed our Insta-woes! But let me know if I'm completely wrong.