xStreamBufferReceive(…, portMAX_DELAY) Task Moved to Suspended and Never Wakes on Data

Just tested. If I’m sending intentionally at a start of receiving task, before the forever loop, like this:

	xStreamBufferSend(xDebugMsgStream, (const void*) HelloString, sizeof(HelloString) - 1, 0); //Send a hello to fill the buffer by first message

then stream buffer is containing the data before fist call of xStreamBufferReceive() receiver task.
And at first call, xStreamBufferReceive() produces non-zero output and the code continues normal UART transfer as expected.
After this first transfer, at second run of forever loop in receiving task, task state become eSuspended:

because there are no data in buffer yet. And receiving task is “subscribed” for the stream:

Seems to be good.
Then upon new data arrival, xStreamBufferSend() is called from one of the task:

Seems to be good, not from an ISR.
Upon a completion of xStreamBufferSend() the state of receiving task remaining eSuspended and the “subscription” for stream buffer notification is gone.
I’m frustrated:

Upd: In short, all seems to be correct except the receiver task kept suspended instead to be woken-up. What should make the task running? What should I pay attention to?