routing – Static route weird behaviour

Hi,
I am working with 4 routers: A B, P and C
A and B have a P router between them that has an ospf neighborship with both. B is directly connected to router C. There’s no routing protocol between B and C. Network 172.16.55. /31 is utilized in between router B and C. with .50 configured on B and .51 on C.
Router C utilises a default route towards B.
What I am trying to achieve is to be able to ping loopback 3.3.3.3 configured on router C from router A.
On router B I configured a static route for 3.3.3.3 that has 172.16.55.51 as its next-hop. I can ping from B to C just fine.
I then advertised the interface of router B that connects to C in OSPF, both router P and A learn of the addresses and from both routers I can successfully ping to 172.16.55.50 and 51.
I then tried to configure on A. a static route to 3.3.3.3 with 172.16.55.51 as next-hop, the ping fails. Same happens if I try to configure 172.16.55.50 as next-hop.
However, utilizing router B ospf-router id (10.0.0.2) as next-hop results in a successful ping from A to C.
I am not sure why it’s working like this but not when I utilise 172.16.55.51 as next hop.
-Router A and P can reach both next-hops (172.16.55.51 and 10.0.0.2) so does router P.
-Router B and P can reach the source interface utilized by router A for the ping.
So it seems to me that utilizing 172.16.55.51 as next-hop should be every bit as valid as utilizing 10.0.0.2 however, only the latter works. Can anyone help figure out why?
Thanks
EDIT:
Adding the routing tables for routers A, B and P. Note that A B and P are also running MPLS between them with P acting purely as a transport router.
I omitted the non relevant routes from the tables for brevity, Loopback0 is being used as ping source:

Router A

S 3.3.3.3/32 [1/0] via 172.16.55.51, 00:00:07

O IA 10.0.0.2/32 [110/21] via 172.16.6.24, 1d09h, HundredGigE0/0/0/1

O IA 172.16.55.50/31 [110/30] via 172.16.6.24, 1d09h, HundredGigE0/0/0/1

Router B

O 10.0.0.1/32 [110/11] via 172.16.6.25, 12w0d, HundredGigE0/0/0/8

O 10.0.0.2/32 [110/11] via 172.16.55.49, 1d09h, Bundle-Ether1

O 172.16.55.50/31 [110/20] via 172.16.55.49, 1d09h, Bundle-Ether1

Router C

S 3.3.3.3/32 [1/0] via 172.16.55.50, 07:51:48

C 172.16.55.50/31 is directly connected, 2w3d, HundredGigE0/0/0/37

L 172.16.55.51/32 is directly connected, 2w3d, HundredGigE0/0/0/37

O IA 10.0.0.1/32 [110/21] via 172.16.55.48, 1d09h, Bundle-Ether1