Firstly, this line:
If True Then
Is irrelevant: the code that follows it will always be executed.
Secondly, why are you adding a row if it's not to be removed?
Else
MessageBox.Show("Row Not Removed", "Remove Row", MessageBoxButtons.OK, MessageBoxIcon.Information)
DataGridView1.Rows.Add(DataGridView1.CurrentRow.Index)
End If
Thirdly, you shouldn't really remove rows from the DGV, but from the DataSource it's bound to.
The code you show otherwise looks OK - so I'd start with the debugger and try to find out exactly is happening - put a breakpoint on the first line of the method, and single step through to see exactly where it is going and what variables contain.