OSPF is a link state protocol.
As soon as one network is not available to Router C, this advertises all the neighbors of this change in the network topology.
The time to detect a network down? It depends.
If the directly connected cable is disconnected on the router, than the trigger is immediate, where if the problem is "remote" this depends on the OSPF interface timers. e.g. P2P are fast (10sec hello, 40sec dead), where NBMA are slow (30sec hello, 120sec dead). Just for reference there are 6 type of interfaces in OSPF. Although an interface type is choosed by default based on the media type,this can be changed manually.
Note that this can be affected modifying the hello/dead intervals on an interface basis, but this would also increase the bandwidth required to run OSPF across your network.
There are 5 type of DBD packets. Depending on what's going on on your network one of the 5 is sent. They are used to form adjacencies as well as notify a database change.
An OSPF router sends a paranoia update (full database) every 30 minutes to all the neighbor. Apart from thet it's quite silent, and only hello frames are exchanged (no DBD) if nothing else is happening ;-)
OSPF is working pretty well as it is, and I would personally define it a good protocol. The only exception could be when you hardcode too much the default values.
Always remember that this is a link state protocol and all the routers have a full copy of the database loaded into memory.
Please rate if useful.