why should it take months to understand that a 301 means "permanently moved".
Google does not commit to a 301 redirect quickly after they first see it. They need to trust test it and to make sure it stays stable. This is partly because a 301 redirect can often be a tool for deception, spamming and phishing. A site's overall trust history can come into play, here. A high historical trust level can get a new 301 accepted much more quickly.
Another issue is that even technically knowledgeable webmasters make errors with 301 redirects and then need to fix things. So Google is cautious in accepting this "instruction".