If I have a parameter passed to a method, do I need to release the parameter at the end of the method?
You need to release them only, if you retain them in your method. The convention is, that the caller is responsible to make sure, that the objects passed as arguments live at least as long as the call is active.
retain