We hit this in a cloud workload (k8s cluster to be specific). logrotate can enter this mode if anything interrupts - e.g. if the volume runs out of space temporarily, it will make the new .1.gz file and then fail to write anything to it, but leave it behind. Subsequent runs will then never rotate the logs.
And eventually the system will run out of space - which in a cloud workload with pretty similar log rates on all the machines can lead to a correlated failure across a few hours of an entire cluster.