Bilder rotieren mit C# – Bitmap.RotateFlip vs.Graphics-Object

Auf der Suche nach einer Funktion zum Rotieren von Bildern in C# bin ich auf folgenden Beitrag auf dotnet-snippets.de gestoßen: Bilder rotieren mit C#.
Neben der eigentlich vorgestellten Methode wurden in den Kommentaren noch 2 andere Methoden vorgestellt und die Frage in den Raum geworfen, welche Methode davon die schnellste sei. Da dies auch mein Interesse weckte, habe ich kurzerhand eine kleine Test-Applikation geschrieben, die die verschiedenen vorgestellten Funktionen auf Herz und Nieren ihre Geschwindigkeit überprüfen sollte.
Nach einigen Testläufen wurde klar, dass die eigentliche Funktion nicht geeignet war, da in ihr jedes Mal ein neues Bitmap Objekt erstellt wurde, was Unmengen an Speicher frisst. Somit wurde folgende Funktion aus den Tests ausgeschlossen.

public Bitmap rotateImage(Bitmap bitmap, float angle)
{
Bitmap returnBitmap = new Bitmap(bitmap.Width, bitmap.Height);
Graphics graphics = Graphics.FromImage(returnBitmap);
graphics.TranslateTransform((float)bitmap.Width / 2, (float)bitmap.Height / 2);
graphics.RotateTransform(angle);
[…]