Help will be appreciated
You will need to take into account that in most chats there's no profile picture and it fits and works perfectly (so you will not find an only solution).
Nevertheless, the most common and used technique is to set the position at top. That's because when we read, we do it from the top to the bottom (this answer for example).
So why my username is at the bottom? Because it's not relevant, it just shows some additional information that will maybe be useful to you or another user looking for some specific info. Like the date of the post.
What about the Facebook example?
First of all, you have to know that big companies need to do this kind of changes, they need to distinguish themselves from others. So when you see an underneath chat who do you think of? That's it...
In this case, it's used to let us know when the message has been read. Realize that a couple of years ago, there was no image. In the group-chat it's used aswell, but when you open the chat, you start reading from the last read message, not from the end. The point is to show the image in the first message and once read it, move it to the bottom so it doesn't become a mess.
Like in all cases, it will depend on the application context, the user-target and other factors.
Hope it helps a little bit.