get a line of text from one stringbuilder to another ?

ok what im doing is some visual string manipulation via rectangle area’s

so what i want to do is take a StringBuilder object
composed of possibly sb.AppendLine( … ) calls
cut it up by line
and get each line into separate string builders
were they can be further worked on
before being passed to custom wrapped DrawString functions

now im not sure at all what the best way is to do this
this is what i came up with but im wondering if their is a easier way
im a StringBuilder noobe my primary concern is gc collection

sorry about the formatting i cant make it look proper

public static List<StringBuilder> StringBuilderSplit(StringBuilder sb_text)
{
    List<StringBuilder> sb_list = new List<StringBuilder>();
    sb_list.Add(new StringBuilder());
    char line_break_char = '\n';
    //
    if (false == char.TryParse(Environment.NewLine, out line_break_char)) { line_break_char = '\n'; }
    //
    int sbli = 0;
    for (int i = 0; i < sb_text.Length; i++)
    {
        if (sb_text[i].CompareTo(line_break_char) != 0)
        {
            sb_list[sbli].Append(sb_text[i]);
        }
        else
        {
            sb_list.Add(new StringBuilder());
            sbli++;
        }
    }
    return sb_list;
}