When we enable joins for multithreaded plans, we should adjust the runtime filter wait time.
A large part of the motivation for the timeout was to allow parallelism between the different sides of the join - there was some concern that having a scan block indefinitely would effectively reduce the amount of parallelism that the plan executed with.
With multithreading, we want to get parallelism across multiple copies of the same fragment, rather than parallelism across different fragments. So this motivation no longer applies. Making the filter wait time unlimited would make query execution more predictable.