I have had this happen to me on about 4 occasions now.
It is definitely related to the syncing of contacts.
The only thing that got my phone working for me immediately was as follows:-
Go to settings, accounts,
Check on each account and see which is syncing. Go to the Sync contacts switch and turn off. Cancel the sync.
Restart the phone and normal performance should resume.
If you do want to sync the contacts in question, I guess just turn that setting back on last thing at night and hopefully will be synced by the time you get up ! :)