В случае с тредами наоборот - их скорее всего на порядки меньше количества сообщений, т.е. у тебя будет мало строк в таблице, но у каждой будет огромнейшая jsonb колонка с сообщениями.
Это делает всю затею бессмысленной - ради получения одного сообщения придется десериализовать всю структуру целиком, а там легко могут быть десятки мегабайт на тред.
Так как структура поля СУБД заранее неизвестна, то не будет статистики по значениям. Плюс типы возможных индексов ограничены, и TEXT среди них точно нет, а без поиска по сообщениям я вообще не представляю ни один мессенджер/почту.