Okay after reading everyone's posts and playing around with it this is my guess at what is happening:
3D Touch on the messages app will bring up 3 contacts that you have been conversing with via iMessage. On top of that it looks at the intervals of the messages to determine frequency. So if you iMessage someone on a daily basis but only send 2 messages a day then it might not make the list. If you communicate with someone twice a week via iMessage but in those 2 instances you send each other heaps of messages within a 20 minute (random number) duration then it will make the list.
For those of you who are experiencing random contacts, my guess is that either:
A: you don't have anyone that you communicate via iMessage with;
B: the iMessage conversation message intervals are not close together enough; or
C: both of the above.
That's my guess, keen for you guys to test this theory out and let me know how it goes.