From MSDN:
Array implements the IsReadOnly property because it is required by the
System.Collections.IList interface. An array that is read-only does
not allow the addition, removal, or modification of elements after the
array is created.
If you require a read-only collection, use a System.Collections class
that implements the System.Collections.IList interface.
If you cast or convert an array to an IList interface object, the
IList.IsReadOnly property returns false. However, if you cast or
convert an array to a IList interface, the IsReadOnly property
returns true.
Read-only here means that the items in the array cannot be modified and that's why it returns false.
Also have a look at Array.IsReadOnly inconsistent depending on interface implementation.