Ah so more or less,, (bit of a technical breakdown, sorry in advance) when making the boards it does the following steps:
- Random fill
- Generate labels based on fill
- Solve the final board solution based on the labels. This ends up with filled, crossed out, and ambiguous(!) cells
- Test ambiguous cells to see if they're really "abiguous" by filling and crossing and seeing if both solve nicely (if one doesn't, then it's state is the other one!). This step is currently what messes up as, for 20+ rows/columns mainly, even when it places and tests it doesn't solve completely!
The broken ones usually look like this (as you might’ve encountered!):

Anyways, thank you so much for playing and having fun with it!! :)