I found the answer
The answer is in the file mask, but the documentation doesn't have it exactly correct. The Exact answer is actually in the footnotes of the documentation page, not in the main documentation page.
FileMask consists of file patterns on two sides of a pipe character. If no pipe character is included, it is assumed to all be left-hand side.
When I was doing exactly as the docs said, I was explicitly declaring an INCLUDE mask, not an EXCLUDE mask. Changing my filemask to :
tOpts.FileMask = c.SearchPattern + "|*/";
solved the issue.
FileMask consists of file patterns on two sides of a pipe character. If no pipe character is included, it is assumed to all be left-hand side.
(include masks) | (exclude masks)
When I was doing exactly as the docs said, I was explicitly declaring an INCLUDE mask, not an EXCLUDE mask. Changing my filemask to :
tOpts.FileMask = c.SearchPattern + "|*/";
solved the issue.