When God forgives us, he separates our sin from us. This means God puts distance between us and our failures. How much distance? As King David famously said in Psalm 103:12, "As far as the east is from the west, so far does he remove our transgressions from us." East and west never meet, and neither does your sinful past ever meet you again...unless you hold on to it.
Even though God has wiped our record clean, we have the tendency to revisit our failures. If we keep it up, we eventually wallow in the dirt and filth of that which should be discarded, re-committing the very sin that hurt us in the first place.
A key to forgiving yourself and moving beyond your failures is distance. Chronological or geographical distance may be a part of the process, but the real distance is within your mind.
Scripture says that God "remembers our sin no more." This doesn't mean that he gets amnesia, but that he chooses not to bring it up again. It is as if your sin never happened. Your transgressions have been erased from his records.
When dealing with forgiving yourself, you need to make the same decision God does: choose not to bring it up again. Don't go there. Make the decision to bury it. It may mean throwing away a momento or destroying a symbol of your sin. When we put distance between our sin and ourselves, we are doing what God does. God has wiped our record clean, and if we are to follow him we must model his forgiveness.
This principle also applies when we are dealing with the sins of others. When we forgive another, we must also forget the sin; that is, choose not to bring it up. If we refuse to put distance between other people and their failures, forgiveness will remain a theoretical concept never practiced.