The Nexgate guys chimed in and helped me figure this out.
There's a backup running at 1pm, and that generates a tremendous amount of traffic between the LAN/DMZ interfaces. It's all 100BaseT equipment, so it must be 100Mbs into one interface, and 100Mbs out of the other.
The biggest problem is DNS – pfSense is running the network's DNS server, and of course when the box is totally loaded, it stops responding.
I changed the backup schedule (to late at night) and enabled network polling on the "advanced" tab... despite the admonitions. DNS is a pretty critical service!