I actually did some diagnosing and analyzing the logcat, after some long headaches, i found the file causing this mess from the beginning, so each time google play store system update automatically downloads the update , it stores it inside "/data/apex/active/" with the file name : "com.android.media.swcodec(at)340818112.apex" so i had to remove it from there, the system restores to its stable state.
maybe this is not a practical solution as the google play store system update can anytime download it automatically but, it solves the problem of wiping data each time.
*Note: if you rebooted your device and noticed that it made a double boot, that means it downloaded that file again in the background, just hurry to recovery and delete it , because it will take forever to boot and waste your time.
**Note: for users who doesn't have root privileges, you can do the same thing using twrp recovery!