I have not used ToastMessageShow, there may be delays and persistence in using it to display AStream_NewData Buffer. It may create problems, in embedded work similar to using printf or delays in an ISR, a no-no. Think of AStream_NewData as a receive ISR.
Things to consider:
AStream_NewData Buffer contents may not be complete, and may happen multiple times to bring in all the data.
To handle this, convert the bytes to strings, use "&" to join the strings.
There are string functions to parse the strings looking for an end marker, that you place in the transmitted code for that purpose.
Then use string functions when data complete, to copy the desired string section to be processed, and delete it from the string buffer, saving what is left, it may be part of the next received data.
Helpful string functions are: &, IndexOf(), StartsWith(), Length, SubString2() ...
There are many other ways to do this too.