I've been hunting a weird bug for a long time. I finally found it's cause.
I'm Danish, thus my .NET culture is "da-DK". In this culture "Gaard", doesn't start with "Ga" because it thinks that "aa" is "å" (in Danish it was before 1948).
That gives some unexpected results when doing prefix queries.
The solution is to add StringComparison.InvariantCulture in all StartsWith comparisons.
To verify my claim, try running:
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("da-DK");