@Sean: Great question. It turns out that if the sum of the digits of a number add up to 9 (or a multiple of 9, like 18, etc.) then that number is divisible by nine.
if the number being squared is divisible by 3 (so it's 3*n), then the square is (9 * n^2) which is divisible by 9, and therefore falls into the pattern :). I'd like to do a post on why the digits need to add up this way, but here's one insight:
If we start with 9, clearly the digits (the only digit!) adds to 9. Whenever we add 9, we're really doing (10 - 1) which means "increase the tens digit by 1, and decrease the ones digit by 1". This keeps the sum of digits in balance, so we should expect that the sum of digits always equals 9 as before. (For example, 18 means we changed 09 to 18). Of course, once you get to 90 and add (10-1) you are really only able to "fill" the ones digit and get 99 (which then increases the total sum to 18 -- but, you kept the sum of digits divisible by 9). Hope this helps!