Saving array keep adding length of array

update_post_meta is maybe_serialising.

And in this case is storing it as a serialised string

The string your passing isn’t a correctly serialised array.

If you pass it the raw array it will self convert it to the correct serialised string.

The correct string is a:1:{i:0;s:4:”test”}, passing that shouldn’t serialise but probably will. You are betted off passing in the array as an array

If you want to store an already serialised object, direct Database write.