Grammatically both of your first sentences are correct and idiomatic. One uses the present perfect, and the other uses the simple past. There's really no difference between them.
One might sound better than the other in the given context; for example if the other person used the present perfect to describe something, I might respond with a similar experience also using the present perfect.
A: I've heard that spinach is bad for you.
B: I don't know where you might have heard that, because I've recently read that it is good for you.
Your second pair of examples is a little different. With the verb "to think" the present perfect indicates a past complete or repeated thought.
I've thought about this a long time, and I believe we should paint the house red.
I've often thought the government was full of idiots, but after this latest news I'm sure of it.
If you want to express an ongoing and current thought, the present perfect progressive is idiomatic:
I've been thinking that it's time for our son to start sports.
I've been thinking that it's time I repay the favor you did me.
Unfortunately this is more about what is natural in English, rather than grammar rules. You might have to figure out what is idiomatic on a case-by-case basic, as a set of common expressions.