Если поставить точку останова на 1-ю строку, а , 2-4 закоментить, и при запуске дебага перейти сразу к 5-й строке, то метод run, дочернего потока, не печатает свою работу, а если расскоментить 2-ю строку, перейти к ней, ее выполнить, то метод run сработает.
class Solutionn {
    public static void main(String[] args) throws IOException {
        Solution sol = new Solution(11);    // строка 1
        //System.out.println(sol);               // строка 2
        byte[] withStaticAsBytes = getObjWithStaticFieldAsByteArray(sol);   // строка 3
        System.out.println(getObjFromByteArray(withStaticAsBytes));           // строка 4
        System.out.println(5);      // строка 5
    }

    private static byte[] getObjWithStaticFieldAsByteArray(Solution someObj) throws IOException {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        ObjectOutputStream oos = new ObjectOutputStream(baos);
        oos.writeObject(someObj);
        return baos.toByteArray();
    }

    private static Solution getObjFromByteArray(byte[] objAsByteArray) throws IOException {
        ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(objAsByteArray));
        Solution retObj = null;
        try {
            retObj = (Solution) ois.readObject();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        return retObj;
    }
}
//###
class Solution implements Runnable, Serializable {
    private transient Thread runner;
    private int speed;

    public Solution(int speed) {
        this.speed = speed;
        runner = new Thread(this);
        runner.start();
    }

    @Override
    public void run() {
        System.out.println("I`m running from the run() with speed = " + speed);
    }

    private void writeObject(ObjectOutputStream out) throws IOException {
        out.defaultWriteObject();
    }

    private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
        in.defaultReadObject();
        runner = new Thread(this);
        runner.start();
    }

    @Override
    public String toString() {
        return "Solution{" +
                "runner=" + runner +
                ", speed=" + speed +
                '}';
    }
}