New contact created every time I login!
I've just had a similar problem with a Joomla installation. It was a problem with the civicrm_uf_match table that (in Joomla) links CMS users to Civi contacts. Somehow the CMS user ID in that table was not the current user ID. Civi created a new contact because it could not match the Civi contact back to the user. I don't know how that matching happens in WordPress but it might be worth a look. 

To solve in Joomla, I manually changed the CMS ID in the records in the uf_match table to the correct, current CMS ID.