Desde Android 6 no basta el WakeLock para que el dispositivo no entre en reposo, si se activa el Doze tu aplicación dejará de funcionar igualmente.
Tienes que añadir tu aplicación a la lista de aplicaciones que no usan optimización de batería para usar un WakeLock correctamente.
De todas formas para tu caso lo mejor es establecer una alarma cada 15 minutos, en lugar de estar continuamente con la CPU en marcha, la diferencia de gasto es considerable.