I'm afraid it is a typo in the first line. Try:
<OGRVRTDataSource>
<OGRVRTLayer name="grid">
<SrcDataSource>grid.csv</SrcDataSource>
<GeometryType>wkbPoint25D</GeometryType>
<LayerSRS>WGS84</LayerSRS>
<GeometryField encoding="PointFromColumns" x="x" y="y" z="z"/>
</OGRVRTLayer>
</OGRVRTDataSource>
I also changed the GeometryType to wkbPoint25D so it includes the Z values in the geometry
You can test with 'ogrinfo -so -al grid.vrt' to see that it isn't a problem specific to gdal_grid and to see how the driver translates your files:
$ ogrinfo -al grid.vrt
INFO: Open of `grid.vrt'
using driver `VRT' successful.
Layer name: grid
Geometry: 3D Point
Feature Count: 6
Extent: (565650.000000, 5121960.000000) - (565800.000000, 5121960.000000)
Layer SRS WKT:
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.257223563,
AUTHORITY["EPSG","7030"]],
TOWGS84[0,0,0,0,0,0,0],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0,
AUTHORITY["EPSG","8901"]],
UNIT["degree",0.0174532925199433,
AUTHORITY["EPSG","9108"]],
AUTHORITY["EPSG","4326"]]
x: String (0.0)
y: String (0.0)
z: String (0.0)
OGRFeature(grid):1
x (String) = 565650
y (String) = 5121960
z (String) = 1048
POINT (565650 5121960 1048)
OGRFeature(grid):2
x (String) = 565680
y (String) = 5121960
z (String) = 1043
POINT (565680 5121960 1043)
Note that the fields associated with each feature are strings. You could change them to be other types with a grid.csvt file:
"Real","Real","Real"
gives
...
x: Real (0.0)
y: Real (0.0)
z: Real (0.0)
OGRFeature(grid):1
x (Real) = 565650
y (Real) = 5121960
z (Real) = 1048
POINT (565650 5121960 1048)
OGRFeature(grid):2
x (Real) = 565680
y (Real) = 5121960
z (Real) = 1043
POINT (565680 5121960 1043)
...
It happily pretends the large numbers are geographic, so a mis-specified SRS doesn't cause a error at this stage.
"UTM" as a LayerSRS causes problems since it doesn't choose a specific UTM zone. You might need something like 'EPSG:32618' or '+proj=utm +zone=18 +ellps=WGS84 +datum=WGS84 +units=m +no_defs'