<p>I've implemented a basic search for a research project. I'm trying to make the search more efficient by building a <a href="http://en.wikipedia.org/wiki/Suffix_tree" rel="noreferrer">suffix tree</a>. I'm interested in a C# implementation of the <a href="http://en.wikipedia.org/wiki/Ukkonen%27s_algorithm" rel="noreferrer">Ukkonen</a> algorith. I don't want to waste time rolling my own if such implementation exists.</p>

Hard question.  Here's the closest to match I could find:
http://www.codeproject.com/KB/recipes/ahocorasick.aspx
, which is an implementation of the Aho-Corasick string matching algorithm.  Now, the algorithm uses a suffix-tree-like structure per:
http://en.wikipedia.org/wiki/Aho-Corasick_algorithm
Now, if you want a prefix tree, this article claims to have an implementation for you:
http://www.codeproject.com/KB/recipes/prefixtree.aspx
<
HUMOR
> Now that I did your homework, how about you mow my lawn.  (Reference:
http://flyingmoose.org/tolksarc/homework.htm
) <
/HUMOR
>
Edit
: I found a C# suffix tree implementation that was a port of a C++ one posted on a blog:
http://code.google.com/p/csharsuffixtree/source/browse/#svn/trunk/suffixtree
Edit
: There is a new project at Codeplex that is focused on suffix trees:
http://suffixtree.codeplex.com/