Если не работает, вы имеете в виду, что они на самом деле ничего не делают, я думаю, вам нужно немного изменить свой код:
public string TagsInput { get; set; }
//further down
var tagList = TagsInput.Split(Resources.GlobalResources.TagSeparator.ToCharArray()).ToList();
tagList.ForEach(tag => tag = tag.Trim()); //trim each list item for spaces
tagList.ForEach(tag => tag = tag.Replace(" ", "_")); //replace remaining inner word spacings with _
Trim и Replace не изменяют значение строки, они возвращают новое строковое значение.