Not sure if you'll still need an answer to this one, but traffic between subnet A and C will not be able to be routed via B to reach each other. See also: https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-manage-peering#requirements-a...
A peering is established between two virtual networks. Peerings are not transitive. If you create peerings between:
- VirtualNetwork1 & VirtualNetwork2
- VirtualNetwork2 & VirtualNetwork3
There is no peering between VirtualNetwork1 and VirtualNetwork3 through VirtualNetwork2. If you want to create a virtual network peering between VirtualNetwork1 and VirtualNetwork3, you have to create a peering between VirtualNetwork1 and VirtualNetwork3.