Almost all the posts I saw imply that WhatsApp does not use GCM. Instead, it uses two sockets to communicate using FunXMPP.
Then how is the App active on Marshmallow even in Doze mode ?
I don't remember giving the permission
REQUEST_IGNORE_BATTERY_OPTIMIZATIONS to the Application. And yes, the app is not whitelisted