For what it's worth, when writing packages and such I have acquired
the habit of putting a \relax after all the commands that have
trailing option lookahead, or the optional date if the command takes a
date:

  \ProcessOptions\relax

  \RequirePackage{latexsym}[1995/01/01]

  \LoadClass{foo}[1995/01/01]

(also \usepackage and \documentclass).

One reason is that if an error happens to occur while processing one
of these commands, \relax or [...] ensures that the error context
shown by TeX will be the line that triggered the error, not some
following line (past any comment lines that happen to follow).