Using $Searcher.SizeLimit = 10000 will result in up to 10,000 object being returned.
Using $Searcher.PageSize = (any non-zero value) will fully return the results.
Without setting PageSize, the default is to perform a non-paged LDAP query which will return either 1000 or 1500, depending on of the AD environment was built using W2000 or 2003+
The PageSize value is used behind the scenes to control how LDAP results are batched up on the DC and passed back to the client. The larger the number, the bigger each batch, which in not a good thing. Larger batches put more load and memory allocation on the DC. Setting 1000 thru 2500 should do.