GPS automatically turns on Today after i woke up and checked my phone I noticed GPS icon is blinking at the top.
So I turned it off through Location services but after a moment it turned back on again.
And whether I turn it off it gets back on again and again.
That's wired ! No new app has been installed recently no app settings has been changed manually (To use GPS).
How could i find out what app(s) doing this?
Also to see which apps are using location services go to Settings &gt; Location. There you'll be able to see the "Recent location requests" under which the apps that requested location information is displayed. One of the app listed under this section should have turned on the GPS automatically to know the location info. 

Whenever you see that the GPS is active (the GPS icon is shown in the notification bar, or Settings &gt; Battery shows that the GPS is active), click on Settings &gt; Apps &gt; Running to see which apps are running. One of them is the culprit. So disabling or uninstalling the relevant app you think is causing this would solve your issue.

Note: The above settings are available on Android Kitkat and higher versions.

Also read this questions for more clarifications,

How can I find out what app is using my GPS from the background?

How to check which app uses GPS on Galaxy Nexus?