Finalizer issues were one of the first issues I hit whilst working with Kubernetes. Actually the finalizer wasn't the issue, the issue was the task the finalizer was waiting to complete.
A finalizer is a protection method, which waits for all tasks related to deleting an object to complete before removing the object from etcd. So if you delete a persistant volume, then there will be tasks to call off to your cloud provider or storage to delete the data.
Below are two helpful links including a recording I found useful. I still won't fully pretend to understand finalizers completely. However I do now understand why my work around for removing the finalizer from an object is probably the wrong thing to do.
At some point I plan to update this blog post.