This seems to be a bug.
Whenever the text is too large it aligns to the Top, with (2) or without (1) AutoEllipsis
on.

Unfortunately the proposed solution often looks rather ugly.
To workaround (3) you can either use a simple function like the one below or write a Label
subclass that integrates the functionality.. :
string ReducedText(Label lbl, string text)
{
char ell = (char)0x00002026;
lbl.Tag = text;
string redString = text;
using (Font font = new Font(lbl.Font, FontStyle.Bold))
using (Graphics G = lbl.CreateGraphics())
{
G.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
float elltWidth = TextRenderer.MeasureText(G, ell.ToString(), font).Width;
float textWidth = TextRenderer.MeasureText(G, redString, font).Width;
elltWidth += lbl.Padding.Left + lbl.Padding.Right ;
if (textWidth < lbl.ClientSize.Width) return text; // maybe watch padding!
SizeF s = SizeF.Empty;
do
{
redString = redString.Substring(0, redString.Length - 1);
s = TextRenderer.MeasureText(G, redString, font);
// Console.WriteLine(s.Width + " " + lbl.ClientSize.Width + " " + redString);
} while (s.Width + elltWidth > lbl.ClientSize.Width);
}
return redString + ell;
}
On some bold fonts the ellipsis character looks like an underscore; in that case simply replace it with a string with 2-3 dots..!