On the call today I was trying to remember how the chase::recent event is consumed. It is handled by the snapshot chaser, which causes a snapshot to be taken (once the node is "recent" - which means current or max height). A snapshot causes all channels to be dropped, which results in no store activity, which allows the table heads and bodies to be flushed to disk, and the heads copied. This also means that the channels are reopened as "recent" - which results in outbound protocols being attached. This is enforced - not configurable. The node will always snapshot once it is recent.
(edited)