Solutions with few conditions are my favorite!
I've just tried to reproduce what I believed you did (the technique seemed obvious from your description), and got a 2*24 "solution" instead... The game does attempt to force you into general solutions that don't rely on randomness, but G3 is not a level I considered when I created the strategies for that (it didn't even exist).
Infinite loop detection is actually an approximation. First, it's implemented more like a solution for level <REDACTED> - comparing against all the preceding states would require me to canonicalize all of them, which would be prohibitive in terms of performance. Secondly, it runs graph isomorphism in a "best-effort" mode - it's possible (though not easy) to generate states that will make it run exponentially. If that happens, the algorithm stops after a few seconds and infinite loop detection is subsequently turned off for the level (the player also gets a message).
Because of this, for consistency, the game doesn't stop you from submitting solutions that have non-zero probability of not terminating even when it knows that this is the case.
By the way, the server receives solutions for verification only in compact form, it doesn't get the entire board.
Edit: should be fixed by now (for this level and 4 others), those solutions no longer qualify.