So the CPU usage may be 100% if you were to look at top... but linux displays CPU usage a little differently. If you are running a single-core machine (such as an earlier Pi), you will likely max out the CPU. In my case, I'm running a quad-core Pi so I have more headroom to deal with. Currently my CPU is running at 137% CPU but that is only one core being used. If you look at the load values, my load is only 1.18 and can go a max of 4 because I have 4 cores -- using that same math, 400% CPU in top would represent all cores of my CPU being consumed.
While the telnet connection stays running, it uses very little CPU. The biggest CPU usage is Python constantly watching the serial line waiting for another response (because it has to always be watching).
You can use the following one-liner to see the top CPU usage:
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head
To see what the polling script is using, run:
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | grep python
In the case of my system, that outputs the following:
2018 2017 python /home/pi/WyzeSensePy 0.9 134
which means .9 % RAM and 134% CPU used.
Hopefully that clears some things up... being in IT and having to shift 200+ workers to WFH took over my personal life for a bit so I haven't been able to respond to the thread.