I mean it is coding. That is why it happened, because games run because of code.
I was explaining it wasn't a case of spaghetti code, which in League refers to very convoluted code that causes issues due to the fact that changing one thing can mess with 5 other things and bugs stemming from that. Spaghetti code is when shit goes wrong that doesn't make sense, example being back when old heimerdinger could kill allies if terrain was summoned near his turrets such as anivia wall.
This bug on the other hand makes perfect sense from an in game standpoint. If gnar does X damage and applies a stack of his W passive every time he lands on someone and you find a way to get him to keep landing on someone (Bouncing off a camile ult into camille ult off of camille ult etc.) then of course it is going to work just as intended in the game.
It is like how you can could have two ally Azirs ult an enemy from each side and they would keep bouncing between them to take damage and keep getting knocked further into the air. Think you might be able to still do it if you positions the walls the correct distance from each other but it is a lot harder to do now.