Thanks for your post, there are two ways can filter the result list according to the input state name, please see the APIs below:
Collection<GeocoderMatchItem> UsaGeocoder.Match(string sourceText);
Collection<GeocoderMatchItem> UsaGeocoder.Match(string streetAddress, string city, string state);
For the first API, you can input the address what you want to search that includes the state, for example, input "St Andrews Drive 66047 KS" and geocode, you can get all of the searched results within the KS state. When you use this API to search please note: for the street address, you must to input either street number or zip code, if not you cannot searched out any results for street.
For the second API, you can input the street address, city and state separately, for example, input "St Andrews Drive 66047, Lawrence, KS", then split and pass them to the Match function.
In addition, for the performance issue, actually the v5 is a just a little slower than v4, the reason is from the new Geocoder index data, the new index data has big change than the v4, it improves the geocode accuracy and range.
Hope the answer is helpful for you,
Any more questions please let me know,