This is the type of shit that haunts me. Imagine overloading ">>" for piping and hiding threading behind that. The idea was to create an async pipe, but nowhere are you aware of async or threading or whatever was chosen. You look at the code and think "of it's like piping to stdout" or whatever, only to find out that the method immediately returns.
Tracking down what the hell is happening with code that has such hidden side effects is a nightmare.
Are you still in the C++ world?