The documentation for SelectList.CreateDropDown says that you need to pass a value in the list or the default for the type. But, if you pass null when the type is string, it complains. You actually have to do this:
SelectList.CreateDropDown( contentTypes, "" );
Which is fine, but the empty string is not the default type for a string.
This is with an older version of EWL.