Welcome to WebmasterWorld Guest from 184.108.40.206
The problem is that Google is not recognizing that these pages have moved and it still indexes the 3rd level domains with the full path of the redirect (i.e, http;//3rdlevel.example.com/not/related/to/3rdlevel/page.html), even though the redirect sends it a 3rd level domain of "www".
I want to get rid of those expired 3rd level domains, and I have tried doing so with the 301 redirect. What else is there that can be done to get Google to retire those old domains?
First off, I suggest user a server header checker tool to ensure that your 301 responses are of the correct form.
If they are, and this is an ongoing thing over an extended period, then I see 2 options.
1. Remove the DNS entries for those sub-domains, this making them inexistant.
2. Remove the 301's and create a robots.txt that bans all robots from crawling anything on those sub domains.
Another thing to think about is using the Google removal tool. Now.. I know that tool used to remove all pages on a domain - not sure if that's still the case. I don't know if you use a sub domain for removal if it effect your www.domain.com - I would say no, but I've never done that so I cannot verify.