If the puzzle is not square it sometimes crashes with an IndexOutOfRangeException.
Try this.
[Test]
public void CreateAndSolve()
{
var pd = new WordSearchBuilder(20, 10)
.WithWords("word1", "word2", "word3")
.Build();
var sol = new StandardWordSearchSolver();
foreach (var word in pd.Solution)
{
var result = sol.SeekWord(pd.Puzzle, word.Word);
result.First().Should().BeEquivalentTo(word);
}
}