The root of the problem was that DefaultMessageBrokeredTable::GetBrokeredMessageForMessage was only returning already registered BrokeredMessage instances and, if there wasn't one, it would just return null because it was only using TryGetValue. Now using GetOrCreate instead so that the first request to get a BrokeredMessage will create it.
The root of the problem was that DefaultMessageBrokeredTable::GetBrokeredMessageForMessage was only returning already registered BrokeredMessage instances and, if there wasn't one, it would just return null because it was only using TryGetValue. Now using GetOrCreate instead so that the first request to get a BrokeredMessage will create it.