Spellchecker.cs line 205 has the following:
//if queue full , maintain the min score
min = ((SuggestWord) sugqueue.Top()).score;
what this is doing is resetting min to be the highest of the suggestions found so far. This is fine, except that min is a global, persistent variable. So if you set min to be .5, do a search that has a result of .9, your next search will have a min of .9, which means that the next suggestion probably will fail.
Fix would just be to make a localMin copy or some such and update that.