I wanted to comment but am new to the site. It appears your question is whether to set up an individual watchdog timer per BFD session vs. a single global timer.
The single global timer is just automatic polling, the CPU load would be the execution time of the task divided by the period of execution.
A timer per BFD would depend upon how many BFD sessions are allowed to run simultaneously. The greater the number of timers hence the greater the CPU load.
The key here is to estimate a periodicity of the task execution even if it is aperiodic. The next step would be to do a quick Rate Monotonic Analysis for all the tasks running on the CPU without the timers. This technique will give you an idea of how much relative spare capacity you have in the system depending on the priority of the task kicked off by the timer.
Remember that depending on the overall tasking model of the system phasing of task execution is important. The faster higher priority tasks run the more those tasks consume the relative spare capacity of the lower priority tasks.