You should always try to avoid having a list of anything as a field if possible. For example, you have a List of Messages for one of your fields in the “thread” table.
This can restrict certain things like searching, sorting, and filtering.
Instead you just add a field called “thread” in your “message” table. This way, you will be able to search for all of the messages in a certain thread and don’t limit your development possibilities.
Once I figured out that this was the best development method, I never looked back. Hope this helps everyone who is currently using a ton of lists in their fields.