У меня тоже удаляет, но не эпрувит.
public class Solution {
    static Cat cat1 = new Cat();
    static Cat cat2 = new Cat();
    static Cat cat3 = new Cat();
    public static void main(String[] args) {
        Set<Cat> cats = createCats();
        cats.remove(cat3);//напишите тут ваш код. step 3 - пункт 3
        printCats(cats);
    }

    private static Set<Cat> createCats() {
        HashSet<Cat> cats = new HashSet<>();
        cats.add( cat1 );//напишите тут ваш код. step 2 - пункт 2
        cats.add( cat2 );//напишите тут ваш код. step 2 - пункт 2
        cats.add( cat3 );//напишите тут ваш код. step 2 - пункт 2
        return cats;
    }

    private static void printCats(Set<Cat> cats) {
        for (Cat cat : cats){
            System.out.println("This is a cat: "+cat);// step 4 - пункт 4
        }
    }

    public static class Cat{
        Cat(){ }
    }// step 1 - пункт 1
}
Вывод:
This is a cat: Level08.Solution$Cat@22a71081
This is a cat: Level08.Solution$Cat@2d6a9952

Process finished with exit code 0