Do these steps
1- backup your phone with itunes.
2- restore your iOS using the latest version of itunes
3- do not restore your backup and do not jailbreak. Use the phone with a fresh restore for a while to see if the issue will reproduce again. If yes then head to apple store, if not then follow step 4
4- restore your backup using itunes
5- do not jailbreak yet. Use the phone that way for a while to see if the issue will reproduce, if yes then it means that you have some corrupted files in your backup. If not then follow step 6.
6- jailbreak your phone using the latest jailbreaking tool and get the ipsw which itunes has used to restore your iOS at this location in your computer:
You should first allow hidden file to be showed, you can clic organize >folder and search options. in the popup wondow clic on tab "view" then mark "show hidden files, folders and drives" when that's done go to
C: user > username(your comp user name) > appData > Roaming > apple computer > iTunes > iPhone Softwarw Updates. In that folder you will find your the ipsw which was downloaded by itunes and used by itunes to upgrade your iOS. you can copy, NOT CUT the ipsw to another location like to your desktop. When you start redsnow and it arrive to step 2 browse to your desktop and find the ipsw there.
On a mac computer :
Home Folder/Library/Application Support/iTunes/iPod Firmware
Use that ipsw to jailbreak your phone.
7- do not install any jailbreak app or tweaks on the phone, use it like that for a while to see if you can reproduce the issue, if yes then something wrong with your jailbreak causing the issue. If not then follow step 8
8- install your cydia tweak apps one by one, remember the last app/tweak you install, after installing an app/tweak from cydia, use the phone for a while to see if you can reproduce the issue, if yes then the latest app/tweak you've installed is causing the issue. Do that until you find out what's causing that issue.