Move PredicateBuilder instantiation to constructor

In order to maintain thread safety and prevent race condition from memoization.