your code has parameters which are equal to our type names, please don't do that:
Dim IPredicateExpression = New PredicateExpression()
change the typename of IPredicateExpression
also, place a breakpoint in the code at the GetMulti call and check if the selectFilter indeed is set to a filter, if the predicate expression indeed has predicates. If not, you should step through the code above it with the if statements to see if you add predicates to selectFilter or not.