title: Is ok to release my object after I call performSelectorOnMainThread
body: <p>Memory management is being done manually, ARC is not used in this project..</p>
  
  <p>The message object is created using <code>alloc</code> <code>init</code> and the code below is being called on background thread.</p>
  
  <p>I pass a message object before the following call:</p>
  
  <pre><code> [self performSelectorOnMainThread:@selector(serverConnectionResult:) withObject: message waitUntilDone:NO];  
  </code></pre>
  
  <p>After the call I want to do:</p>
  
  <pre><code> [message release];
  </code></pre>
  
  <p>I am confused whether I should do this, because I am concerned whether the message object will be always valid when <code>serverConnectionResult</code> is called?  Is the method call <code>performSelectorOnMainThread</code> retaining the message object itself?  What's the rule to know that the called method retains my passed object?</p>