Change RiffReader/Writer to use normal stream.
StreamExtension methods, ReadBytes.
Use longs not ints for count.
Make Offset public
Don't preload wav data.

Store the data offset, length and stream. Allow user to read data as
they see fit.