If you call "Radar3D.OnDrawEvent += () => ...", call this method (and all WRobot events) only one time.
And use "Landmarks" like:
// remove all landmarks by ID
wManager.Wow.Forms.UserControlMiniMap.LandmarksMiniMap.Remove("MyCircleId");
// Add landmarks
wManager.Wow.Forms.UserControlMiniMap.LandmarksMiniMap.Add(new MiniMapGenerator.LandmarkMiniMap(new Vector3(1, 2, 3), "MyCircleId", Color.Red));
wManager.Wow.Forms.UserControlMiniMap.LandmarksMiniMap.Add(new MiniMapGenerator.LandmarkMiniMap(new Vector3(1, 2, 3), "MyCircleId", Color.Red));
or
var skyfire = ObjectManager.GetWoWGameObjectByEntry(241630).FirstOrDefault();
var fires = ObjectManager.GetWoWGameObjectByEntry(243244);
wManager.Wow.Forms.UserControlMiniMap.LandmarksMiniMap.Remove("volatileflare");
foreach (var f in fires)
{
var g = new Vector3(f.Matrix.M41, f.Matrix.M42, f.Matrix.M43); // Good position
Logging.Write(" FIRE: " + f.Name + " matrix=" + f.Matrix + " local=" + f.Position + " global=" + g + " dist=" + ObjectManager.Me.Position.DistanceTo(g) + " distZ=" + ObjectManager.Me.Position.DistanceZ(g));
wManager.Wow.Forms.UserControlMiniMap.LandmarksMiniMap.Add(g, "volatileflare", System.Drawing.Color.Chartreuse, 10, "", true);
}