Unreliable getStressHistory (4.1.7)

Hi, using this code below

stressLevel = Toybox.SensorHistory.getStressHistory({:period=>1});
if (stressLevel != null) {
	stressLevel = stressLevel.next();
}

if (stressLevel !=null) {
	stressLevel = stressLevel.data;
}

if (stressLevel != null && stressLevel >= 0 && stressLevel <= 100) {
	values[:current] = stressLevel.toFloat();
	values[:isValid] = true;
}

I find that from time to time within the day, stressLevel is null on my Venu

So I changed it to this to iterate within all the value returns:

if ((Toybox has :SensorHistory) && (Toybox.SensorHistory has :getStressHistory)) {
	stressLevelIterator = Toybox.SensorHistory.getStressHistory({});
	if (stressLevelIterator == null) {
		break;
	}

	var sample = stressLevelIterator.next();
	var count = 0;
	while (sample != null) {
		count++;
		if (sample.when.value() > stressLevelDate) {
			stressLevel = sample.data;
			stressLevelDate = sample.when.value();
		}
		sample = stressLevelIterator.next();
	}

	if (stressLevel != null && stressLevel >= 0 && stressLevel <= 100) {
		values[:current] = stressLevel.toFloat();
		values[:isValid] = true;
	}

Although it always got valid data now (that I can see), 'count' gets in the 300!

So my question is, can I expect the first read value to be always the latest one (like {:period=>1} should have done)? If so, I can skip the while loop and only keep the first one read. In the emulator, the sample.when.value() keep decrementing pointing to the first one being the latest.

PS. getBodyBatteryHistory isn't experiencing that problem.