I see exactly the same symptoms with you config, looks like it is netmask /31 that is causing route conflict on Router B.
I was able to fix this issue by switching to /30 netmask:
RouterB(x.x.6.2/30) <---> RouterC(x.x.6.1/30)
root@saul# run show ip route|grep 6.0
B *> 77.77.6.0/27 [20/0] via 77.77.6.1, eth2.77, 00:08:40 <-- this is route from RouterC
C *> 77.77.6.0/30 is directly connected, eth2.77 <-- this is connected route
What is the usecase of /31 netmask anyway?