For #1, we also noticed this difference and this is the part what we were improving in but still be in experiment. The difference reason is with the zipcode, the searching will run into other branch which will improve the result accuracy.
Currently, I have a workaround: we can search out the possible zip codes by the city and state name from the zip.dbf included in the geocoder dataset. Then we loop to add the possible zip codes with the Street,Zipcode method to geocoding. I attached a class to search value from a dbf file and hope it helps. I will help you implement this if you have any questions on it.
For #2, That's right, the house number should be between (FROMADDRESSLEFT and TOADDRESSLEFT) or (FROMADDRESSRIGHT and TOADDRESSRIGHT), if not, then we should drop it from the matched results.
001_DbfManager.cs.txt (4.03 KB)