O que é ValueTask<T> e quando vale a pena?
ValueTask e ValueTask<T> são structs que permitem que um método assíncrono retorne um resultado sem alocar um Task no heap quando ele completa de forma síncrona. O ganho é uma alocação a menos em hot paths que normalmente terminam sem aguardar. O custo é um contrato rígido de aguardar-apenas-uma-vez. Aqui está o que esse tipo realmente é, como funciona e o conjunto restrito de casos em que ele se justifica.