For sessionful server channels (any channel using TCP for example) the ReceiveTimeout specifies the maximum time a client may take to send at least one message to the server before the server will close the channel. This behaviour ensures that clients cannot hold on to server resources for arbitrary long periods.
See http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1748577 for additional information.