I've never seen that heartbeats in general caused lag, but rather when its laggy they'll more often fail.
Actually. let me qualify that. Heartbeats if used sparingly and sensibly shouldn't be a big lag concern. The key is "sensibly". There's also the matter of priorities under which scripts/events are handled by the CPU over others. I.e, the module clock may fail/falter before anything else. Next comes placeables with heartbeats failing or firing only after extreme delays.
The only true case of heartbeats on placeables causing server-wide lag issues was on a PW that over the years used lots (and I mean alot!) of CEP placeables that had lighting scripts to turn on/off, whether based on a PC nearby, time of day or toggling a switch IG. This PW had around 9,000 such instances in their module. After going through their roughly 500 areas and replacing/disabling all these things (which never worked anyhow due to lag) the IG clock began working, placeable gargoyles and other things now worked and lag in general decreased by leaps and bounds.
On my own PW, I use lots of placeables with heartbeats. Being somewhat anal about efficiency though, I usually spawn the placeables in only when PCs enter the area and despawn them (if needed) after they have left. I use this not only for gargoyles and other statues that "come alive", but for mushrooms that glow in my underdark, petrified trees in a certain forest, obsidian statues (drop a shadow shield visual to a placeable statue), trees that "awaken" and are treants and many other things. That I also like to keep folk guessing, I usually have two versions of each of these things, one with the heartbeat event that will transform or do something and a second scriptless version that does nothing. Then I spawn things in semi-randomly. I.e., not every gargoyle statue is a true gargoyle or every tree a treant. Where Statue "A" was a gargoyle yesterday, today it could just be a inanimate statue.