Delete elements of a list with the same x value

Select[Counts[data[[All, 1]]]@#[[1]] == 1 &] @ data

Join @@ Select[Length@# == 1 &] @ GatherBy[data, First]

Values @ GroupBy[data, First, If[Length @ # > 1, Nothing, #[[1]]] &]

data[[Flatten @ Select[Length @ # == 1 &] @ 
   GatherBy[Range @ Length @ data, data[[#, 1]] &]]]

FixedPoint[SequenceReplace[#, b : {{a_, _}, ___, {a_, _}} :> 
    Sequence @@ DeleteCases[b, {a, _}]] &, data]

all give

 {{0, 1}, {5, -2}, {4, 4}, {3, 0}, {6, 0.5`}, {7, 2}, {8, -5}, {9, 2}}

Tally[data, First@#1 == First@#2 &] // Cases[{x_, 1} :> x]

gives

{{0, 1}, {5, -2}, {4, 4}, {3, 0}, {6, 0.5}, {7, 2}, {8, -5}, {9, 2}}