This has a lot to do with caller ID systems. If you look into this, this is a rather old issue and not showing a bug/defect in your phone. Folk new to this may disagree and lose far too much time.
If you change carriers it might be better or worse.
I have an LG Thrill. I created some ring tones with the Ringtone Maker app and then assigned them to certain contacts. The problem is they do not work all the time. Sometimes the correct ring tone works and then other times it is the default ring tone that rings. This happens with all the tones I assigned to some contacts. How can I get the assigned ring tones to work all the time?