You should probably use LINQ:
var matches = array1.Where(x => x.Contains(TextBox1.Text.Trim())).ToList();
To make it case-insensitive, use IndexOf
:
var matches = array1.Where(x => x.IndexOf(TextBox1.Text.Trim(), StringComparison.OrdinalIgnoreCase) != -1).ToList();