У вас асинхронные операции, как я понял, может произойти, что сообщение было последним, но в результате многопоточности записалось предпоследним., тогда Last() выдаст неверную инфу.
Здесь сначала надо сортировать по DateTime с выбором самого позднего через Last().