#t means that the template will substitute in the nullable version of type 't' which you specified when you instantiate the template. (E.g. this is means that if you ask for {DisplayFrame-of String} that field will be #String. For non-class types there is no # variant (#int == int).)

This is different from using 'any' in that the field or argument will be of the specified type, attempting to pass other types will cause a compilation error, and the storage will be the size of that type, and math operators will be natively compiled in the right type. (Note that you could do {DisplayFrame-of any} and lose all of those benefits, but it might be suitable in some cases.)

Type means any type can be used, ClassType means that it must be a subclass of Object (anything defined with define-class.) (Type also includes value types and basic types like int.)