Html.Encode принимает один параметр String. Передав ему ArrayList, вызывается метод ToString, который возвращает имя типа объекта.
Вам нужно перебрать коллекцию, построить строку и передать ее в Html.Encode.
Редактировать с примером кода
<%
StringBuilder sb = new StringBuilder();
foreach (string category in namelist)
{
sb.Append(category + "\n");
}
%>
<%= Html.TextArea("Namelist", Html.Encode(sb.ToString())) %>