If you're running your service in a console or winform app (which you are) then you need to set your UserPrincipalName on your client to the username running the server. If the service is running as either the System or NetworkService account then this is not necessary as it will use the default SPN (host\machine).
The config for this on the client would look something like this:
<endpoint address="http://localhost:8001/dvdcollection/service"
binding="wsHttpBinding" bindingConfiguration="MyWSHttpBinding"
contract="IMyContract" name="MyWSHttpBinding">
<identity>
<userPrincipalName value="smason@redmond.corp.microsoft.com" />
</identity>
</endpoint>
This is not necessary on the local machine as it will use NTLM to authenticate.