What is the serial monitor actually doing?

I did have some success yesterday. I saw the background color change with software serial, but i don't know how it happened. It happened 2 or 3 times, but I wasn't able to continuously reproduce it. I think it has something to do with the time I plug the device in, which makes this very frustrating to work with. I don't have any LED's with me right now, so what I tried instead was reading the board LED.

#include <SoftwareSerial.h>

SoftwareSerial mySerial(2, 3); // RX, TX

uint8_t autobaud[]={0x55}; //command 1 autobaud
uint8_t arr[]={0x42, 0x10, 0xCC}; //command 2 change background to color 0x10CC
uint8_t new_arr[]={0x43,0x50,0x3F,0x22,0x00,0x1F}; // command 3 draw a circle at x= 0x50 y=0x3F radius=0x22 color=0x001F

void setup()
{
  pinMode(13, OUTPUT);
  Serial.begin(9600);
  mySerial.begin(9600);
  delay(1000);
      dostuff(autobaud, sizeof(autobaud));
      dostuff(arr, sizeof(arr));
      dostuff(new_arr, sizeof(new_arr));
}

void loop()
{
  serial_response();
}

void dostuff(uint8_t *buffer, int len)
{
  mySerial.write(buffer, len);  // Serial.write wants the array pointer and the number of elements
 // Serial.print("Command: ");
 // Serial.write(buffer, len);
 // Serial.println("|");
  serial_response();
}

void  serial_response(){
    while(mySerial.available() == 0); //Do nothing until there are bytes to be read. 
   //    Serial.print("Response: ");
  
//    Serial.print(mySerial.read()); //when there are bytes, print them to the monitor. 
   digitalWrite(13, HIGH);
   delay(500);
   digitalWrite(13, LOW);
   delay(500);
 }

Clearly, i don't understand what my own code is doing, because I was certain the code would do this:

Send 1 command
wait for a response
Flash LED when there is a response.

this should repeat 3 times, once for each command.

But that's not what happens. The LED just keeps blinking indefinitely. Why does the LED keep blinking?????????? That makes no sense at all.

After the last command, the code should enter void loop, go into serial_response and stop at this line: while(mySerial.available() == 0); because nothing is being sent, and therefore the display shouldn't be sending anything back as far as I am aware.

Nothing is being printed to any serial port. Not software serial or the hardware serial port.