Explanation of a parallel wait
Waittype: CXPACKET resource description: exchangeEvent id=Pipe8c2e3ac480 WaitType=e_waitPipeGetRow nodeId=0 PhysicalOp: Parallelism LogicalOp: Gather Streams
I attached the currently running query plan. I am guessing the hash table is being built and root has to just wait maybe?
The number of packets buffered at the exchange is limited, and the parallel threads are doing much more work per row, so they produce packets more slowly than the consumer could read them. These waits are therefore expected and harmless.