Hello,
The application note you are using as a base is quite old, I would recommend you to check the newest version of the application note that you can find in this link.
Also, I was a little confused by the description, you mention you are nos using the recommended approach of waiting for the interrupt and you are making a polling of the registers, is that correct? If that is the case, isn't it waking the device as well ?
I would strongly recommend you to use the reader library examples we have available, for you to use as a base in your development,
Hope this helps.
Regards ,
Estephania