You are wrong. "That" as a relative pronoun can be omitted when it serves as an object in its clause. Have a look here. If you'd like a source with more heft, google
Zero is used identically to that except that it is unacceptable where the relative pronoun is subject in its clause
The above comes from section 4.88 in "A Concise Grammar of Contemporary English" (available for example here). The same text should be helpful when it comes to dealing with the who/whom and terminal preposition issues that seem to interest you (section 13.8).