Guid это valuetype.
Функция tryParse пытается распарить гуид и возвращает true или false в зависимости от того, получилось или нет. Но а сам гуид то ей куда возвращать? Некуда.
Потому ей передается вторым аргументом ссылка на valueType-значение guid, в которое в случае успеха она запишет распарсеный гуид
Потому
$guid = [guid]::Empty
If ([guid]::TryParse($strval, [ref]$guid)){ ...ура... }