Do I need to configure service C to bind on x.x.x.2 only?
A resposta simples é sim.
Normalmente, o sistema operacional não determina o endereço usado pelos serviços. OS apenas dão a escolha ao aplicativo.
Se um serviço for ligado a 0.0.0.0, isso significa que o serviço escuta em qualquer endereço disponível no sistema operacional.