HashAlgorithm.TransformFinalBlock
is used as the final step to generate a hash. It returns a byte array which is documented as follows:
An array that is a copy of the part of the input that is hashed.
Note that the return value of this method is not the hash value, but only a copy of the hashed part of the input data. To retrieve the final hashed value after calling the TransformFinalBlock method, get the byte array contained in the Hash property.
I'd like to understand what this return value is good for and why the API was designed this way.