I'm going to guess your formatting up above is not true to your actual code, but I've inserted a snippet below that should work for you (copied straight from my own code, just replacing the profile property name):
Dim tmpCount As Integer = 0
Dim tmpArray As ArrayList = DotNetNuke.Entities.Users.UserController.GetUsersByProfileProperty(portalId, "Departments", "6", 0, 100, tmpCount)
You'll note that I'm setting page 0 (it is returning on a base zero array, not base 1 like VB.NET typically is), 100 records though you can use your 1000, and then the tmpCount is how many are actually being returned and is passed by reference. In other words, if only 2 actually came back, tmpCount would have been set to 2 during the call.
Based on the weird formatting in your post, I'm not sure where the problem lies.
Hope that helps?