GO is not a SQL statement it is merely a batch separator, in fact you could rename it to whatever you want.

The way Management Studio figures this out is by parsing the SQL. It is easy to write a trivial parser that can chunk the statements up. Just split the string on "GO" and send each statement to Dapper.