Our theory is that eclipse notices that the class file, as it is in the JVM process memory, is not an exact match to the class file as eclipse finds it on disk, and uses / tries to use hotswap to reload the class.
Lombok is an agent and 'rewrites' the class as it is loaded. Eclipse reloading it simply means our agent will see it _again_ and will _again_ rewrite it, causing an endless loop, because the next time eclipse scans that class file, it notices a mismatch and we start this song and dance routine all over.
We're not actually sure if this is it, we should probably check if our live class rewriting gets fired continually (I think we checked this and the conclusion was: Yes, it is). That means the next fix would be to try and rewrite the class files 'statically' on disk, or to try and disable eclipse's hot replace feature.