Please see the following lines of code mentioned below:
byte[] a = { 1, 2, 3, 4 };
byte[] b = a; // b will have all values of a.
a = null;
That's actually how reference types works.
As you said, byte[] is a reference type like all other arrays. Let's analyze your sample line by line;
byte[] a = { 1, 2, 3, 4 };
--> You created a byte array in memory and a is a reference that array.

byte[] b = a;
--> Your b is referencing the same object with a which is { 1, 2, 3, 4 } but they are different references.

a = null;
--> Your a is not referencing anywhere in the memory but that doesn't effect b.
