You're right, the For loop now works. Must have been doing something else wrong.
This is the actual code I was running:
For count As Integer = 0 To TotalBytes.Count- 1 Step 2
//Dim val As Short = (TotalBytes.ExtractShort(count, Endianness.Big) & RESULT_MASK) >> 2 //optional endian
Dim val As Short = ((TotalBytes(count) << 8 | TotalBytes(count + 1)) & RESULT_MASK) >> 2
result.Add(val)
Next
Which now works correctly, before it was returning a list of 1 entry.
Never mind...