You don't say what the app is written in but I ran into this with perl. perl apps can either be line buffered or character buffered ($| if I remember right is the switch). Line buffered means the buffer is not delivered until a newline character is received. If nothing else, try "<char>\n" and see if that gets consistently delivered.
That is the funny thing also - that character I'm waiting on is a CR. My program is written in C.
vmtoolsd is running.
Jerry