mmm.. close just closes the results channel, the Sample() method will still receive all the remaining results on the channel before it finally receives the close and completes processing. If we need to ensure that we also process another channel before returning from the function, then we need to do that, not shove the mess under the bed with a sleep statement :)