Spinning the loop as fast as the computer allows (millions of times per second) just taxes your CPU, lowers the battery life of your laptop and/or increases your power bill. Your loop needs to have a wait.
Numeric case structure selectors are integers (Do you know the difference?). Using orange data causes coercions dots and potentially unwanted rounding. For example, see what result you get if the temperature is near the limit. Is that really what you want?
Placing the limits in the cases themselves is not scalable. Every time you need different limits or more limits, you would need to do massive editing of all cases. (In my example, all you need is change the array diagram constants, keeping the rest of the code untouched!)
Your LED is not connected to anything, so why is it in the loop?
LEDs are booleans and have two states. You are only using one but then you are swapping out colors of all states to simulate three states. Silly! Pure Rube Goldberg!
Writing property nodes is significantly more expensive because it is synchronous and requires a switch to the UI thread. For a colorbox (that can be made to exactly look like an LED if you want!) the color is the "value", not a "property". Changing a value is much more natural and much more efficient. Later in your career, you might want an array of color LEDs. Since properties are shared by all array elements, your property node method will no longer work. Array elements can all differ in value, so using a color box you can easily have arrays of color LEDs where each one is different.