More cleanups to dynamic memory allocation

The following failed before this fix:
- Running the command: "led.red; print free; led.off; print free" from
  HQ no more than five times would crash the Lead Scout

After applying this change, I was able to run the above command over 30
times with no crashing.  Sometimes HQ was slow to send the command
to the Lead Scout, but it always sent it after a few seconds. I attribute
this to lag or perhaps Carlo--but it was not crashing the Lead Scout
anymore.