SolveRouteAsync returns a result of type RouteResult. It has a Routes property that is IReadOnlyList<Route>.
Under what circumstances could/would I get more than one route? All examples I've found show code using only Routes[0]. Is there any way to force it to return a certain number of routes? For example, if I wanted the 5 shortest routes or something similar?
You'll get multiple routes when you have more than one stop.