In a test with 2 units containing sum rules, Solver.Solve() was unable to terminate. Removing the rules from the board lead to the method terminating with success. Both units had less than five cells, and the board was of non-standard size and shape.
Needs more testing to nail down the exact issue, but it is most definitely Sum.EliminateCandidates() never finishing, based on debug analysis.
Method responsible for creating the board is attached.
temp.txt