Contains is looking for full matches from a list, that why it won't find the which is part of one of the items in the list [String]. You can convert the list to a string using Concat Items()
Names Default To Here(1);
AAList = {"object1", "object2", "object3[String]"};
If(Contains(Concat Items(AAList, "¤"), "[String]"),
Show("string is running")
);
Or loop over the list and break when match is found.
-Jarmo