getSystemStats().battery

Hello. I have a FR235 and have developed a watch face for it (Step Light in the Connect IQ Store: https://apps.garmin.com/en-US/apps/d7a0893b-6ed0-46c6-a5d2-a5983c77c897).

The watch face displays the battery charge as a numerical percentage, using the code below.

I see something odd: When I plug the watch in to charge, and it switches to the built-in charging screen and it reaches 100%, then remove the watch from the charger my watch face never displays more than 98%, and most often only shows 97%. If I immediately put the charger back on it, the built-in charging screen again shows 100%. Unplug it and my watch face shows 97% (or 98%). The simulator shows whatever value I set via the simulator settings, so I am pretty sure the code works.

Has anyone experienced this? Is it a bug in SDK? A faulty battery in my watch? Thanks for any insights you can provide...

var stats = Sys.getSystemStats();
var pwr = stats.battery;
var batStr = Lang.format( "$1$%", [ pwr.format( "%2d" ) ] );