I think that you might have a slight misunderstanding of what some options mean, and also you need to set your options slightly differently. But I could be wrong about what you are attempting. I'll explain in detail.
The patternsearch function performs a POLL at each iteration as it searches for better values. It optionally calls a SEARCH method that can be a poll method. See Search and Poll. I think that you want poll alone, no search. In other words, I think that what you are trying to do is to not use search, but to use the 'MADSPositiveBasis2N' poll function. In that case, your options should be
pattOpts = optimoptions('patternsearch','UseParallel',true,'Display','iter','MaxTime',60,...
Notice that I set the poll method instead of search method. I also set the 'UseCompletePoll' option to true. This is not strictly necessary in some recent MATLAB versions, but is good practice.
However, I might be wrong, and it could be that you understand perfectly well the difference between a poll function and a search function. In that case, you need to set the 'UseCompleteSearch' option to true in order to search in parallel. Unlike for polling, the solver does not automatically set complete search to true when 'UseParallel' is true, and will not compute in parallel without it.
MATLAB mathematical toolbox documentation