Sleep stops the loop, then the Application Watchdog will break it out and do a system restart, which because I save the run state of the device to eeprom it recovers this and sends the control back to the controller function for sleeping.
Clearly the reason that Sleep is not engaged always is due to something else than SPI.end() and pinMode() calls.
I am wondering if the fact I use WKP as a PWM Output to drive the TFT LEDs might be a reason?
Also, it is odd that the current draw is less at 2.82mA with the SD card reader than without?
There is a ticket open on this item that Dave is handling - I have sent a load of code snippets to see if there is anything that stands out in what I have done.