To break correlation as to whom is messaging whom, use ephemeral private+public keys for private conversation instances and optionally exchange the pubkeys via a series of intermediaries.
---
To mitigate metadata about sizes of messages, add padding
---
To mitigate frequency which may reveal time of activity of participants, automate regular message transmissions (empty padded, ignored), and limit how often real messages are sent to the same interval