Find and extract delimited packet in buffer
Not a full review, but:

If String.IsNullOrEmpty(Data) Then is completely unnecessary. Because Data will be null if you didn't set it within the If portion. Just add an else to the previous if and have it return. 

If (newline_index &gt;= 0 AndAlso newline_index &lt; inoff) Then   ' packet found
    ...
else 
    Return
End If


Also your variable names could use some work. I actually don't know what inoff is supposed to stand for here.