Yes, you can use an object initializer:
public List<SomeObject> CreateCollection()
{
    // You may want to initialize this.Collection somehere, ie: here
    this.Collection = new List<SomeObject>();
    this.Collection.Add(new SomeObject
    {
        // This allows you to initialize the properties
        Collection = this.Collection
    });
    return this.Collection;
}
Note that this will still potentially have an issue - you are never initializing this.Collection in any code you're displaying.  You will need to initialize it to a proper collection in your constructor or via some other mechanism.
It is also an odd choice to have a "Create" method that initializes the local variable and returns a List<T>.  Typically, you'd do one or the other.  A more common approach would be to place this code within the constructor:
public class MyCollection
{
    public IList<SomeObject> Collection { get; private set; } // The setter would typically be private, and can be IList<T>!
    public MyCollection()
    {
        this.Collection = new List<SomeObject>();
        this.Collection.Add(new SomeObject
        {
            Collection = this.Collection
        });
    } 
}
You could then use it via:
MyCollection collection = new MyCollection();                    
var object = collection.Collection.First(); // Get the first element
That being said, in general, there is no real reason to make a custom class for a collection like this in most cases.  Just using a List<SomeObject> directly is typically sufficient.