I'm pretty anal about the use of "that" and "which", as well!
THAT should be used to introduce a restrictive clause.
WHICH should be used to introduce a non-restrictive or parenthetical clause.
A restrictive clause is just part of a sentence that you can't get rid of because it specifically restricts some other part of the sentence. Here's an example: Gems that sparkle often elicit forgiveness.
The words 'that sparkle' restrict the kind of gems you're talking about. Without them, the meaning of the sentence would change. Without them, you'd be saying that all gems elicit forgiveness, not just the gems that sparkle. (And note that you don't need commas around the words that sparkle.)
Nonrestrictive Clause--Which
A nonrestrictive clause is something that can be left off without changing the meaning of the sentence. You can think of a nonrestrictive clause as simply additional information, and if using which, the information should always be written within commas. Here's an example: Diamonds, which are expensive, often elicit forgiveness.
Too much? :lol: