Using the /clone command to continuously teleport a chain command block in front of the execution chain can cause the server to hang - e.g. /clone ~-1 ~ ~ ~ ~ ~ ~ ~ ~ replace move
in an east-facing command block.
Steps to reproduce: https://i.selic.re/chain-loop.mp4
I suggest adding a limit on per-tick execution rather than removing this behaviour altogether, as it may be useful in non-exploit scenarios (such as custom worldgen). Another solution would be to delay the processing of newly cloned blocks that are in unloaded chunks.
The gamerule you're looking for is
maxChainCommandLength