I've found the problem in the code, and is was in a part outside the example code above :( the receiver code was in a Task.Run(async () => but channels aren't thread safe. So that probably caused the error.
Task.Run(async () =>