Couldn't this be the limit that Active Directory places on LDAP queries ?
I know you can bypass that limit by using a range option. See Searching Using Range Retrieval.
But that doesn't help in this case obviously.
Did you already try using masks in the call ?
Something like for example
Get-VIAccount -Domain "DOMAIN" -ID "X*" -Group
To retrieve all groups starting with X