UDP is not the problem. The "problem" is abuse. TCP with it's connection orientation can be worse. TCP connections typically hang around for a while even after it's been closed.
If you have to expose a service to the internet at large like DNS, it really doesn't matter if it's UDP or TCP or "whatever else protocol", if someone wants to target it, they will.
Reading the link, one could easily argue "any stateful firewall including Cisco is probably vulnerable". Stateful firewalls keep state, they keep it around for "X" amount of time, if inbound traffic exceeds that limit then you have a potential for running out of state memory.
Honestly, reading the link a few times I get the feeling "OMG If I really really overload the firewall I can DOS it!" Well, duh, that's the definition of a DOS.
Now is it possible that expired states in PF are not being cleaned up correctly? Perhaps, but UDP and TCP have some weird timeouts according to the RFCs, so one could either be in accordance to the specs or work mostly in accordance to the specs.