The way I've understood it when learning Hindi in the past, dhanyavad is pretty formal and not at all casually thrown in all the time like thanks is used in English. Any native Hindi speakers who can confirm this, or did I misunderstand?
Native speaker here... You are right. It is quite formal as compared to the english "thanks". Having said that, it is used in casual conversations and when you want to thank someone.
Eg. A friend makes you coffee in the morning. You will thank them. You can say shukriya or dhanyawad
But If someone passes you the salt on the table, you are less likely to say dhanhawad.